这部分代码来自学校作业 . 我得到了它的工作,但我觉得我可以简化它或至少让它看起来更干净 . 但是,我还没有这样做 . 有什么建议? (这是来自一个tic tac toe游戏)
if (board[0][0] == board[0][1] && board[0][1] == board[0][2] && board[0][0] != '-') {
winner = board[0][0];
} else if (board[1][0] == board[1][1] && board[1][1] == board[1][2] && board[1][0] != '-') {
winner = board[1][0];
} else if (board[2][0] == board[2][1] && board[2][1] == board[2][2] && board[2][0] != '-') {
winner = board[2][0];
} else if (board[0][0] == board[1][0] && board[1][0] == board[2][0] && board[0][0] != '-') {
winner = board[0][0];
} else if (board[0][1] == board[1][1] && board[1][1] == board[2][1] && board[0][1] != '-') {
winner = board[0][1];
} else if (board[0][2] == board[1][2] && board[1][2] == board[2][2] && board[0][2] != '-') {
winner = board[0][2];
} else if (board[2][0] == board[1][1] && board[1][1] == board[0][2] && board[2][0] != '-') {
winner = board[2][0];
} else if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[0][0] != '-') {
winner = board[0][0];
}
3 回答
尝试
你也可以看到更好的solution here
这是另一种方法:
以下方法怎么样?我可以看到,你的获胜者数量有限:
board[0][0]
,board[1][0]
,board[2][0]
,board[0][1]
,board[2][0]
. 您可以为每个具有适当名称的winnger创建单独的Predicate
.我认为是多个
if...else
更好 .