Лучший способ обработать проверку хода игрока в функции js? - PullRequest
0 голосов
/ 22 апреля 2019

Я делаю JavaScript-версию игры в кости, Свинья.У меня есть около 4 мест в моем коде, где мне нужно проверить, чья очередь определять, что вычислять и отображать.В настоящее время я использую случай переключения во всех 4 местах частично, потому что я просто использую целые числа 1 и 2, чтобы определить, является ли игрок 1 или 2. Есть ли лучший способ справиться с этим?

Я бы предположил, сохраняяуправление внутри методов имеет смысл, но особенно если у меня всего два игрока, является ли if / else более эффективным?Я нахожу корпус переключателя более читабельным.

c.hold = function(){
    if(m.gameIsWon){return;}
    console.log('holding your turn total!');
    switch(m.playerTurn){
        case 1:
            m.playerOneOverallTotal += m.playerOneTurnTotal;
            console.log(`your overall total is now ${m.playerOneOverallTotal}`);
            console.log(`moving onto ${m.playerTwo}'s turn`);
            m.playerOneTurnTotal = 0;
            m.playerTurn = 2;
            break;
        case 2:
            m.playerTwoOverallTotal += m.playerTwoTurnTotal;
            console.log(`your overall total is now ${m.playerTwoOverallTotal}`);
            console.log(`moving onto ${m.playerOne}'s turn`);
            m.playerTwoTurnTotal = 0;
            m.playerTurn = 1;
            break;
        default:
            console.log(`Something went wrong: ${m.playerTurn}`);
            break;
    }
    c.roll(m.playerTurn);
};
...