更好地处理js函数中的玩家回合检查的方法?

时间:2019-04-22 19:40:21

标签: javascript switch-statement

我正在制作骰子游戏Pig的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);
};

0 个答案:

没有答案