const { sendToPlayersRolledNumber } = require('../socket/emits'); const rollDice = () => { const rolledNumber = Math.ceil(Math.random() * 6); return rolledNumber; }; const makeRandomMove = async roomId => { const { updateRoom, getRoom } = require('../controllers/roomController'); const room = await getRoom(roomId); if (room.rolledNumber === null) { room.rolledNumber = rollDice(); sendToPlayersRolledNumber(room._id.toString(), room.rolledNumber); } const pawnsThatCanMove = room.getPawnsThatCanMove(); if (pawnsThatCanMove.length > 0) { const randomPawn = pawnsThatCanMove[Math.floor(Math.random() * pawnsThatCanMove.length)]; room.movePawn(randomPawn); } room.changeMovingPlayer(); await updateRoom(room); }; const isMoveValid = (session, pawn, room) => { if (session.color !== pawn.color) { return false; } if (session.playerId !== room.getCurrentlyMovingPlayer()._id.toString()) { return false; } return true; }; module.exports = { rollDice, makeRandomMove, isMoveValid };