如何有条不紊地比较列表中的随机元素-Java

时间:2018-07-05 22:31:37

标签: java tic-tac-toe

我正在用Java编写一个TicTacToe程序。抽搐的网格编码为

String[] board = new String[9]

有了这个,我有一个单独的班级来接管董事会,并确定最佳的行动。对于初学者,我决定,如果对手在行/列/对角线中有2个,则计算机应将该符号放置在该行/列/对角线的下一个空格中。

这是我的入门代码:

String[][] threes = new String[8][3];
    for (String[] arr: threes) {
        // Compare the elements of arr to figure out how to block opponent
    }

正如您在代码中的注释中所看到的,除了在每种可能情况下,有两种元素(一种X或O)和一种未填充的元素,有什么方法可以在Java中快速确定以下内容:

if ((arr[0].equals(arr[1])) && !(arr[1].equals(arr[2]))) {
    return arr[2];
}

谢谢!

1 个答案:

答案 0 :(得分:2)

对于这个特定的问题,我将更改您的模型以存储int值,并将-1表示为“ O”,将+1表示为“ X”,将0表示为空白。 / p>

然后,如果对任何行求和,将得到:

  • +3或-3表示“胜利”,并且
  • +2或-2(无阻塞2合一行)

您的视图将负责将-1和+1转换为正确的X / O符号,并且您的控制器会将这些符号转换为适当的值以存储在模型中。