1.0.3 • Published 8 years ago

tictactoejs v1.0.3

Weekly downloads
13
License
MIT
Repository
github
Last release
8 years ago

TicTacToeJS

provide a library like chess.js but for tic tac toe.. you can make your own GUI

installation

npm command line:

```
npm install tictactoejs
```

bower command line:

```
bower install tictactoejs
```

usage example as NPM module

var TicTacToe = require('tictactoejs');
var game = new TicTacToe.TicTacToe();

	game.turn(); // first move will be X
	game.move(2, 2));
	
	game.turn(); // will be O
	game.move(2, 1));
	
	console.log(game.ascii()); // check board

usage example in web / bower

<script type="text/javascript" src="bower_components/tictactoejs/TicTacToe.min.js"></script>
<script type="text/javascript">
var game = new TicTacToe();

	game.turn(); // first move will be X
	game.move(2, 2));
	
	game.turn(); // will be O
	game.move(2, 1));
	console.log(game.ascii()); // check board
</script>

a bit of documentation

	var game = new TicTacToe(boardSize);  // default 3
	
	game.turn();		// check whos turn X or O
	
	/*
	 * default move
	 * move with Cartesian coordinate system, but array still in normal style :-)
	 * 
	 * usually board game like chess using cartesian coordinate, but x in alphabet
	 * since tic tac toe have no formal notation, lets use this
	 * 
	 * Y
	 * 3   1,3 | 2,3 | 3,3
	 *     ---------------
	 * 2   1,2 | 2,2 | 3,2
	 *     ---------------
	 * 1   1,1 | 2,1 | 3,1
	 *
	 *      1     2     3	X	
	 * */
	game.move(x, y);
	
	
	game.ascii();		// print table in ascii mode
	game.ascii2();		// print table in ascii mode, just different style
	
	
	game.game_over();	// check if game is over true or false
	game.isDraw();		// check if game is draw true or false
	
	/*
	 * if game draw,  return 'draw'
	 * if game X win, return 'X'
	 * if game O win, return 'O'
	 * if game still in progress, return 'in progress'
	 */
	game.status();
	
	game.legalMoves(); // return an array of objects that x,y still available
	
	
	/*
	 * AI moves, just random :-p
	 * */
	game.randomMove();

inspiration

actually i made this project because i need to make a 3D game for my finalterm in ITB (GPU subject) and i made tic tac toe game with three.js, and this library inspired by chess.js (separating GUI and the game)

license

MIT

example / demo

https://ryanhs.github.io/TicTacToeJS/