如何有条不紊地比较列表中的随机元素 - Java
How to methodically compare random elements in list - Java
我正在 Java 中编写 TicTacToe 程序。抽动的网格编码为
String[] board = new String[9]
有了这个,我有一个单独的 class 来处理棋盘并确定最佳可能的着法。对于初学者,我决定如果对手在 row/column/diagonal 中有 2 个,那么计算机应该将符号放在 row/column/diagonal 中的下一个 space 中。
这是我的起始代码:
String[][] threes = new String[8][3];
for (String[] arr: threes) {
// Compare the elements of arr to figure out how to block opponent
}
正如您在代码中的注释中看到的那样,有什么方法可以在 Java 中快速确定以下内容,除了具有一种类型(X 或 O)和一种元素的 2 个元素的每种可能情况未填写:
if ((arr[0].equals(arr[1])) && !(arr[1].equals(arr[2]))) {
return arr[2];
}
谢谢!
对于这个特定问题,我会更改您的模型以存储 int
值,并使用 -1
表示“O”,+1
表示“X”,0 表示空白.
然后,如果你对任何一行求和,你将得到:
- +3 或 -3 表示“获胜”,
- +2 或 -2 表示未阻塞的连续 2
您的视图将负责将 -1 和 +1 转换为正确的 X/O 符号,而您的控制器会将这些符号转换为适当的值以存储在模型中。
我正在 Java 中编写 TicTacToe 程序。抽动的网格编码为
String[] board = new String[9]
有了这个,我有一个单独的 class 来处理棋盘并确定最佳可能的着法。对于初学者,我决定如果对手在 row/column/diagonal 中有 2 个,那么计算机应该将符号放在 row/column/diagonal 中的下一个 space 中。
这是我的起始代码:
String[][] threes = new String[8][3];
for (String[] arr: threes) {
// Compare the elements of arr to figure out how to block opponent
}
正如您在代码中的注释中看到的那样,有什么方法可以在 Java 中快速确定以下内容,除了具有一种类型(X 或 O)和一种元素的 2 个元素的每种可能情况未填写:
if ((arr[0].equals(arr[1])) && !(arr[1].equals(arr[2]))) {
return arr[2];
}
谢谢!
对于这个特定问题,我会更改您的模型以存储 int
值,并使用 -1
表示“O”,+1
表示“X”,0 表示空白.
然后,如果你对任何一行求和,你将得到:
- +3 或 -3 表示“获胜”,
- +2 或 -2 表示未阻塞的连续 2
您的视图将负责将 -1 和 +1 转换为正确的 X/O 符号,而您的控制器会将这些符号转换为适当的值以存储在模型中。