我有这个3 x 3的char数组,它应该代表一个tic-tac-toe board,之前,我会使用一堆"if"语句来查看是否连续有3个.
... if((board [0] [0] == board [0] [1])&&(board [0] [1] == board [0] [2])){...} .. .
我意识到这是很多打字,并且非常容易出错,所以有更好的方法吗?
是的,你可以这样做
if (board[0][0]==board[0][1]==board[0][2]) {...}
Run Code Online (Sandbox Code Playgroud)
甚至可以写一个函数
inline boolean row_win(int row_num){
return (board[row_num][0]==board[row_num][1]==board[row_num][2]);
}
Run Code Online (Sandbox Code Playgroud)
但它有隐藏的一面,如果 board[0][0]、board[0][0]、board[0][1] 等于 0,则它不会工作。
另一种方法是编写一个 for 循环,但我想这需要更多的打字。