1.0.6 • Published 4 years ago

wartemis v1.0.6

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

Typescript Package for Wartemis

This provides an easy way to create a bot or an engine using typescript / javascript

Installation

$ npm install -S wartemis

Usage

  1. Make a class that extends the Bot or Engine class
  2. Implement the required methods (see API)
  3. Call start() exactly once

JavaScript

const { Bot, Engine } = require('wartemis');

TypeScript

import { Bot, Engine } from 'wartemis';

API

Bot

constructor(name, sendSilentState, endpoint)

ArgumentTypeDefaultDescription
gamestring-The game your bot is made for
namestring-The name of your bot
sendSilentStatebooleanfalseWhether or not your bot will receive state messages that don't expect an answer
endpointstringws://api.wartemis.com/socketWhat endpoint to connect to

handleError(error)

ArgumentTypeDescription
errorstringThe error message

handleState(state, move, game, key)

Should return the action your bot takes

ArgumentTypeDescription
statestringThe game state
movebooleanIf you are expected to move on this state
gamestringThe game id, this is public information and is sent to each bot in a game
keystringThe bot id, this is private information and is unique for each bot in a game

Engine

WIP

Example bot (Tic Tac Toe)

JavaScript

const { Bot } = require('wartemis');

class BotTicTacToe extends Bot {

  constructor() {
    super('Tic Tac Toe', 'Demobot');
  }

  handleError(error) {
    console.error(error);
  }

  handleState(state) {
    console.log(state);
    return {
      position: state.board.indexOf(' ')
    };
  }

}

const bot = new BotTicTacToe();
bot.start();

TypeScript

import { Bot } from 'wartemis';

interface State {
  board: string;
  symbol: string;
}

interface Action {
  position: number;
}

class BotTicTacToe extends Bot {

  constructor() {
    super('Tic Tac Toe', 'Demobot');
  }

  handleError(error: string): void {
    console.error(error);
  }

  handleState(state: State): Action {
    return {
      position: state.board.indexOf(' ')
    };
  }
}

const bot = new BotTicTacToe();
bot.start();

Example engine

See the implementation for Tic Tac Toe

1.0.6

4 years ago

1.0.5

4 years ago

1.0.2

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago