gpt4 book ai didi

java - 合法 Action 井字游戏

转载 作者:行者123 更新时间:2023-12-02 03:22:27 26 4
gpt4 key购买 nike

所以我尝试用java编写一个井字棋游戏。大部分已经完成,但是,如果有人选择了已被占用的空间,我无法返回无效的移动。

这是我试图弄清楚的代码。我认为由于空间是由数字 0 表示的(我的教授告诉我们这一点),因此

board[i][j] == 0

在 if 语句中会阻止玩家重复该空格。

public static boolean isLegalMove(int[][] board, int row, int col) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (board[i][j] == 0 && row <= 2 && row >= 0 && col <= 2 && col >= 0) {
return true;
}
}
}
return false;

}

最佳答案

除非我错过了一些明显的东西,否则你的循环似乎是不必要的并且使你的逻辑过于复杂。您已经有了要检查的行和列,因此没有理由不使用它们:

public static boolean isLegalMove(int[][] board, int row, int col) {
return board[row][col] == 0;
}

这存在 ArrayIndexOutOfBoundsException 的风险,但这更多的是辅助方法 getRowgetCol 的症状,您应该确保这些不能返回越界值。你应该询问你想要什么来简化事情。

关于java - 合法 Action 井字游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39432577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com