我是编程新手,我创建了一个简单的井字游戏。它输入了二维数组的行和列。但是,我想让它更简单,并使用一个值1-9
来表示板上的每个方块。
我在这方面的做法似乎相当漫长而复杂。很抱歉格式错误,因为我想节省空间。
if (pos >= 0 && pos <= 9) { //checks if number is a valid position on the board
if (pos == 1 && board[0][0] == ' ') { board[0][0] = xo; return true; }
if (pos == 2 && board[0][1] == ' ') { board[0][1] = xo; return true; }
if (pos == 3 && board[0][2] == ' ') { board[0][2] = xo; return true; }
if (pos == 4 && board[1][0] == ' ') { board[1][0] = xo; return true; }
if (pos == 5 && board[1][1] == ' ') { board[1][1] = xo; return true; }
if (pos == 6 && board[1][2] == ' ') { board[1][2] = xo; return true; }
if (pos == 7 && board[2][0] == ' ') { board[2][0] = xo; return true; }
if (pos == 8 && board[2][1] == ' ') { board[2][1] = xo; return true; }
if (pos == 9 && board[2][2] == ' ') { board[2][2] = xo; return true; }
}
return false;
内部 if 语句检查索引是否为空,然后根据输入的数字分配x
or o
。如果有人知道任何“更清洁”和更简单的方法,将不胜感激。