([2,2,2,2,2,2,2,2,2]);
const turn = props.turn;
const getBoard = (index: number) => {
const newBoard: number[] = board.slice(0, index).concat(turn).concat(board.slice(index+1, 9));
socket.emit("update-remote-data", {
board: newBoard,
turn: turn,
scoreX: props.scoreX,
scoreO: props.scoreO
});
}
const endGame = (data: any) => {
props.setMessage(
`${data.winner === "Data" ? "" : "WINNER: "}${data.winner}`
);
props.setShowMessage(true);
props.setScoreX(data.scoreX);
props.setScoreO(data.scoreO);
// socket.emit messes everything up
// and this does the job very well
setBoard([2,2,2,2,2,2,2,2,2]);
props.setTurn(data.winner === "Draw" ? turn : (data.winner === "X" ? 1 : 0));
}
useState(() => {
socket.on("update-client-data", (data) => {
setBoard(data.board);
props.setTurn(data.turn);
props.setScoreX(data.score.scoreX);
props.setScoreO(data.score.scoreO);
});
socket.on("update-winner", (data) => endGame(data));
});
return (
{board.map((i, index) =>
)}
);
}
export default MultiplayerGrid;