确定下一场比赛

时间:2019-03-02 19:02:50

标签: php

我有这个挑战:

  

两个玩家-“黑人”和“白人”玩游戏。游戏由几轮组成。如果玩家赢得一个回合,则他必须在下一回合再次移动。如果一个玩家输掉一个回合,则另一个玩家在下一回合中移动。考虑到谁在上一回合中出战,以及他是否获胜,请确定本回合中谁将出战。

     

编写一个whoseMove函数,该函数以输入2参数作为参数,并返回黑色或白色。

该怎么做?

1 个答案:

答案 0 :(得分:1)

第一个参数(谁在最后一轮打过?)是:

  • “黑色”
  • “白色”

第二个参数(玩家赢了吗?)是

  • true
  • false

所以有4种可能性。

在第二个参数为true的情况下,您可以按照第一个参数给出的方式返回播放器。这样就可以处理4种可能性中的2种。在另一种情况下,您需要交换颜色。

您可以使用三元运算符执行该逻辑:

function whoseMove($player, $didWin) {
    return $didWin ? $player : ($player == "black" ? "white" : "black");
}

if ... else书写,如果比较冗长,但更易读:

function whoseMove($player, $didWin) {
    if ($didWin) {
        return $player;
    } else if ($player == "black") {
        return "white";
    } else {
        return "black";
    }
}