I'm trying to write tic-tac-toe game logic, so I need to take user inputs alternatively from user 'X and user 'O. The first player is chosen by a random function.
const prompt = require('prompt-sync')({ sigint: true });
const ticTacToe = {
board: new Array(9).fill(null),
person: null,
player: function () {
let number = Math.floor(Math.random() * 2);
if (number === 0) {
return this.person = 'X';
}
else {
return this.person = 'O';
}
},
start: function () {
let firstPlayer = this.person;
let count = 0;
while (count <= 9) {
let input;
if (count === 0) {
input = prompt(firstPlayer + ": ");
count = count + 1;
}
else {
let nextPerson = this.nextPlayer();
input = prompt(nextPerson + ": ");
count = count + 1;
}
}
},
nextPlayer: function () {
let next;
if (this.person === 'X') {
return next = 'O';
}
else {
return next = 'X';
}
}
}
The prompt is not changing and it is not terminating when count reaches 9. The output looks like-
X: 7
X: 7
5
X: 7
5
0
X: 7
5
0