我有一些使用if句子的情况,它为我的请求添加了aditional值..我正在做纸,石头,剪刀游戏,还有另一种形式而不是句子?:
if ("stone".equals(movePlayer1) && "stone".equals(moveComputer)) {
draw = draw + 1;
}
if ("paper".equals(movePlayer1) && "paper".equals(moveComputer)) {
draw = draw + 1;
}
if ("Scissors".equals(movePlayer1) && "Scissors".equals(moveComputer)) {
draw = draw + 1;
}
if ("paper".equals(movePlayer1) && "Scissors".equals(moveComputer)) {
win = win + 1;
}
if ("paper".equals(movePlayer1) && "stone".equals(moveComputer)) {
win = win + 1;
}
if ("Scissors".equals(movePlayer1) && "paper".equals(moveComputer)) {
win = win + 1;
}
if ("stone".equals(movePlayer1) && "stone".equals(moveComputer)) {
serverwin = serverwin + 1;
}
if ("paper".equals(movePlayer1) && "Scissors".equals(moveComputer)) {
serverwin = serverwin + 1;
}
if ("Scissors".equals(movePlayer1) && "stone".equals(moveComputer)) {
serverwin = serverwin + 1;
}
还有另一种方法可以像切换,其他或类似的东西那样做吗?
答案 0 :(得分:4)
在Rock,Paper,Scissors的实现中,玩家和计算机同时做出选择,然后比较这些选择。玩家获胜,计算机获胜或玩家获胜。一旦您检测到其中一个条件,就不再需要进行进一步的评估。
当您编写许多if
语句时,每个语句都独立于其他语句。即使第一个if
语句的计算结果为true
,所有剩余的if
语句仍将被评估。
您应该使用if
而不是使用许多if... else if... else
语句,它们以互斥的方式有效地将许多条件联系在一起,并且只要其中一个将控制权从控制块中传出语句已评估为true
。
if ("stone".equals(movePlayer1) && "stone".equals(moveComputer))
{
draw = draw + 1;
}
else if ("paper".equals(movePlayer1) && "paper".equals(moveComputer))
{
draw = draw + 1;
}
else if ("Scissors".equals(movePlayer1) && "Scissors".equals(moveComputer))
{
draw = draw + 1;
}
// continue your code below
请在继续操作之前确保您了解fundamentals of flow control。