php - 确定下一个演奏者
问题描述
我有这个挑战:
两个玩家——“黑”和“白”玩游戏。游戏由几个回合组成。如果玩家赢得一回合,他必须在下一回合再次移动。如果一名玩家输掉一回合,另一名玩家将在下一回合移动。考虑到谁在上一轮打了他的回合,以及他是否赢了,决定谁在这个回合打。
编写一个
whoseMove
函数,将 2 个参数作为输入并返回黑色或白色。
这个怎么做?
解决方案
第一个论点(谁在最后一回合玩?)是:
- “黑色的”
- “白色的”
第二个论点(那个玩家赢了吗?)是:
true
false
所以有4种可能。
在第二个参数是 的情况下true
,您可以只返回第一个参数中给出的播放器。因此,这涉及 4 种可能性中的 2 种。在另一种情况下,您需要交换颜色。
您可以使用三元运算符来执行该逻辑:
function whoseMove($player, $didWin) {
return $didWin ? $player : ($player == "black" ? "white" : "black");
}
用if ... else
if 写的更冗长,但更具可读性:
function whoseMove($player, $didWin) {
if ($didWin) {
return $player;
} else if ($player == "black") {
return "white";
} else {
return "black";
}
}
推荐阅读
- python - 整个测试套件的 Python3 单元测试设置和拆卸
- php - 获取发送的 Laravel 路由器输出
- java - Java继承:为什么不调用子类的方法?
- laravel - laravel nova 登录后路由重定向
- linux - GTK2 vs. GTK3:在 bash 脚本中检测 GTK3 主题
- spring - 如何在 Spring 响应式中执行“onErrorFlatMap”之类的操作并保持“错误轨道”?
- xml - 如何在列表框中保留一定数量的项目
- python - 如何从导入的 csv 在 QGIS 中创建 pandas 数据框?
- java - 插入数据库的 Java 注释
- excel - 在公式中查找和替换字符串