@lil_marcrock22/connect4-ai
v0.0.17
Published
Connect4 game.
Downloads
13
Readme
@lil_marcrock22/connect4-ai
Install
npm i @lil_marcrock22/connect4-ai
How to use (TypeScript)
interface Player {
turn: number;
id: string;
morethings?: any;
}
const { Connect4AI } = require('@lil_marcrock22/connect4-ai');
const TheGame = new Connect4AI<Player>({ lengthArr: 6, columns: 7, necessaryToWin: 4 },
[{ turn: 1, id: '123' }, { turn: 2, id: '456' }]//This is for <Game>.players
);
TheGame.createBoard();
How to use (JavaScript)
const { Connect4AI } = require('@lil_marcrock22/connect4-ai');
const TheGame = new Connect4AI({ lengthArr: 6, columns: 7, necessaryToWin: 4 },
[{ turn: 1, id: '123' }, { turn: 2, id: '456' }]//This is for <Game>.players
);
TheGame.createBoard();
console.log(TheGame.map);
/*
{
0: [{ key: 0, index: 0: column: 0 }, { key: 0, index: 1 column: 0 }, ...]
1: [{ key: 0, index: 0: column: 1 }, { key: 0, index: 1 column: 1 }, ...],
...
}
*/
const move = 5
if (TheGame.canPlay(move)) {
TheGame.play(move);
console.log(`${move} played :D`);
} else {
console.error(`Cannot play ${move} D:`);
}
const difficulty = 'hard';
const played = TheGame.playAI(difficulty);//'easy' | 'medium' | 'hard'
console.log(`[AI]: column played ${played}`);
INFO
interface Move {
key: number;
index: number;
column: number;
}
Properties and getters
| Property | Type |
|:----------: |:--------------|
| plays
| number[]
|
| __finished
| boolean
| winner
| number \| null
|
| solution
| Move[] \| null
|
| lengthArr
| number
|
| columns
| number
|
| _lastTurn
| number
|
| start
| number
|
| getter
turn
| number
|
| getter
tie
| boolean
|
| getter
finished
| boolean
|
| getter
array
| Move[][]
|
Methods
| Property | Returns |
|:----------: |:--------------|
| canPlay(number)
| boolean
|
| private
checkArr(Move[])
| { encontrado: number; veces: number; solution: Move[]; }
| createBoard()
| { [x: number]: Move[] }
|
| reset()
| this
Connect4 \| Connect4AI
|
| Just with Connect4AI
playAI('easy' \| 'medium' \| 'hard')
| number
|
<!-- You lost the game -->
<!-- https://www.npmjs.com/package/connect4-ai -->