@lil_marcrock22/connect4-ai
v0.0.17
Published
Connect4 game.
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 -->