【发布时间】:2021-03-20 00:38:01
【问题描述】:
我是编程新手,我创建了一个简单的 tic-tac-toe 游戏。它输入了二维数组的行和列。但是,我想让它更简单,并使用 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 或 o。如果有人知道任何“更清洁”和更简单的方法,将不胜感激。
【问题讨论】:
标签: java arrays multidimensional-array array-indexing