eassy-tictactoe
Version:
Tic Tac Toe game api
42 lines (38 loc) • 1.21 kB
JavaScript
;
const patterns = require('../constants/patterns');
const { diffArray, compareArray } = require('../utils/arrayUtils');
const { Isnumeric, noDuplicateMoves } = require('../utils/validateArray');
function play(playOneMoves, playTwoMoves) {
let pattern = [];
let winner = "";
const IsnumberCheck = Isnumeric(playOneMoves.concat(playTwoMoves));
const duplicateCheck = noDuplicateMoves(playOneMoves, playTwoMoves);
if(IsnumberCheck && duplicateCheck) {
for (pattern of patterns) {
if(diffArray(pattern, playOneMoves).length === 3) {
winner = "player one wins";
break;
}
if(diffArray(pattern, playTwoMoves).length === 3) {
winner = "player two wins";
break;
}
}
if(!winner) {
if(playOneMoves.concat(playTwoMoves).length === 9) {
winner = "draw";
}
else if(!winner && (playOneMoves.length === (playTwoMoves.length + 1))) {
winner = "player two's turn";
} else {
winner = "player one's turn"
}
}
} else {
throw Error("Invalid entry");
}
return winner;
}
exports.multiplayer = function (playerOne, playerTwo) {
return play(playerOne, playerTwo);
}