我有这个挑战:
两个玩家-“黑人”和“白人”玩游戏。游戏由几轮组成。如果玩家赢得一个回合,则他必须在下一回合再次移动。如果一个玩家输掉一个回合,则另一个玩家在下一回合中移动。考虑到谁在上一回合中出战,以及他是否获胜,请确定本回合中谁将出战。
编写一个
whoseMove
函数,该函数以输入2参数作为参数,并返回黑色或白色。
该怎么做?
答案 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";
}
}