当前位置: 首页 > 知识库问答 >
问题:

合法移动抽水马龙脚趾

史骏祥
2023-03-14

所以我试图用Java编写一个tic tac toe游戏。大部分都完成了,但是,如果有人选择了一个已经被占用的空间,我不能归还无效的移动。

下面是我想弄清楚的代码。我认为既然空间是由数字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;

}

共有1个答案

韩高峯
2023-03-14

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

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

这有出现ArrayIndexOutOfBoundsException的风险,但这更像是辅助方法getrowgetcol的症状,您应该确保这些方法不能返回一个超出界限的值。你应该要求你想要什么来简化事情。

 类似资料:
  • 早期文章:如何使tictactoe程序可伸缩 我已经尝试使一个Tic Tac Toe程序(人机)可伸缩(板大小可以改变)。我之前有过一些大问题,但大部分都解决了。 游戏的规则是基本的Tictactoe,但有一个不同的规则是,无论棋盘有多大(当)玩家或计算机只需要连续五个分数就能获胜。 现在我的程序唯一的破局问题是决定谁赢了这场比赛。这场比赛现在只可能以‘平局’结束。(我还没有实现“”)。 具体的问

  • 我试着在IntelliJ上使用Lombok和Maven和VRaptor,但它不起作用。 我已经在stackoverflow中阅读了一些信息,但没有解决我的问题,我已经在Intellij中启用了注释处理器,但仍然一无所获。 我也试图从命令行(Windows)编译它,但没有成功。 我还尝试在没有maven的情况下创建另一个项目,添加库,创建一些用于测试的类,它可以完美地工作、编译和运行。 有什么帮助吗

  • 本文向大家介绍jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法,包括了jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法。分享给大家供大家参考,具体如下: 项目描述:九宫格的跑马灯抽奖特效,抽中奖品1-9的概率分别是2%,2%,4%,1%,12%,1%,8

  • 我试图在Spigot 1.16.1插件中使用MongoDB,但我的maven导入遇到了问题。 在我的IDE(EclipseIDE)中没有错误。如果我导出插件并重新加载服务器,会出现以下错误: pom.xml 主课 我已经试着用一个。jar文件,但那也不起作用。 任何帮助都很感激

  • 本文向大家介绍jQuery实现适用于移动端的跑马灯抽奖特效示例,包括了jQuery实现适用于移动端的跑马灯抽奖特效示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现适用于移动端的跑马灯抽奖特效。分享给大家供大家参考,具体如下: 图片全部隐私处理 跑马灯抽奖特效难点一:奖品位置排放,如下图 按照代码常规,奖品1,2,3,4是顺序排列,在这里,使用了定位将他们绕成一个圈。 难

  • 描述 Makeblock水泵电机 – 直流 12V / 370-04PM具有12V电机和坚固的热塑体,广泛用于水泵,汽车水泵,实验泵,盆景假山,DIY项目等。 规格 额定电压:DC 12V 负载:水 吸水率:1L-1.2L/分 电流(负载):比320毫安小于 流速:2.0LPM 总尺寸:D27×75 水孔直径:6.5毫米 最大压力:大于360mmHg 噪声:< 60分贝 尺寸图(mm)