1.0.0 • Published 8 years ago

octothorpe-xo v1.0.0

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

Octothorpe X/O

A game of tic-tac-toe.

The game will alternate between whose turn it is after each mark is placed. It evaluates if the game has been won or came to a draw.

Example

let Game = require('octothorpe-xo'),
  game = new Game();

game.turn;
// 1

game.mark(1, 1);
// marks top left with X

game.markAt(1, 1);
// X

game.nextMark;
// O

game.mark(2, 1);
// marks top center with O

game.mark(1, 2);
game.mark(3, 1);
game.mark(1, 3);

game.hasEnded;
// true

game.winner;
// X

game.toString();
/*
 X | O | O
-----------
 X |   |
-----------
 X |   |
*/

game.reset();
// board is reset

Installation

$ npm install octothorpe-xo

API

var Game = require('octothorpe-xo');

.canMark(x, y)

Evaluates if the specified cell is empty.

typedata typenameDescription
parameterintegerxThe horizontal position (1 - 3)
parameterintegeryThe vertical position (1 - 3)
returnsbooleann/atrue if empty, otherwise false.

.hasEnded

Evaluates if the game has a winner, or the board is full.

typedata typenameDescription
returnsbooleann/atrue if game has ended, otherwise false.

.mark(x, y)

Places a mark at the specified coordinates.

typedata typenameDescription
parameterintegerxThe horizontal position (1 - 3)
parameterintegeryThe vertical position (1 - 3)

.markAt(x, y)

Returns the mark that is occupying the specified cell.

typedata typenameDescription
parameterintegerxThe horizontal position (1 - 3)
parameterintegeryThe vertical position (1 - 3)
returnsstringn/a'X', 'Y' or ' '

.nextMark

The next mark that will be placed on the board.

typedata typenameDescription
returnsstringn/a'X' for odd numbered turns, otherwise 'O'

.reset()

Wipes the board and starts a new game.

.toString()

Returns a text version of the game drawn out.

typedata typenameDescription
returnsstringn/aThe text representing the game.
 X | O | O
-----------
 X |   |
-----------
 X |   |

.turn

The turn that the player is taking, starting with 1 on a new game.

typedata typenameDescription
returnsintegern/aThe current move number to be taken

.winner

The mark that won the game.

typedata typenameDescription
returnsstringn/a'X', 'Y' or ' ' for games at a draw.