🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

lpb-client

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lpb-client

Client API to communicate with Letterpress Battle Server API

0.0.5
latest
npm
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

About Letterpress Battle

Letterpress is a great iPhone/iPad game by Loren Brichter.

After playing Letterpress happily for several hours, @baotuo and I decided to build a cheater to get all usable words in one game. And the faster one wins.

And after the solver project, which @baotuo's won the first round and I won the second, we decided to continue the competition with game AIs. A tool to monitor and tune the AIs is need by both of us, and that's why ‘Letterpress Battle’ (aka LPB) comes from.

The main purpose of LPB is to let the game AIs build by me and @baotuo to battle together with a common set of APIs. You can fight the AIs too if you like.

LPB Client API

Two class is provided in this API.

One is LPBClient, which support the following server API

  • create - Create a game with a 25-characters board
  • list - List all games
  • join - Join a game
  • move - Take a move
  • resign - Resign a game
  • show - Show game statistics

The other is LPBConsole, which is a interactive to play the game in console.

Example

An runnable example can be found in Letterpress Solver project.

The main concept is like below:

var program = require('commander')
  , lpb = require('lpb-client');

program
  .version('0.0.1')
  .option('-s, --server [url]', 'Base URL of the server')
  .option('-p, --player [player]', 'Unique player ID')
  .parse(process.argv);

...

if (program.server && program.player) {
  c = lpb.LPBConsole(program.server, program.player);

  // logic to handle the move
  function takeMove() {
  	...
  }

  // logic to init the game board
  function prepareBoard(data) {
  	...
  }

  // logic to init the game board
  function applyMove(data) {
  	...
  }

  c.on('join', prepareBoard);

  c.on('ourmove', takeMove);

  c.on('theirmove', function(move) {
    applyMove();
    c.emit('ourmove');
  });

  c.start();
} else {
  program.outputHelp();
}

Keywords

letterpress

FAQs

Package last updated on 12 Nov 2012

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts