二元运算符编译错误的错误操作数类型

bad operand types for binary operator compiling error

对于我正在制作的游戏,我需要在 10x10 游戏板上放置一个类似俄罗斯方块的棋子。

我想 return "offboard" 如果玩家试图将棋子放在棋盘外的格子上

为此,我制定了一个初始方法,return如果作品不合时宜。

x 和 y 是我使用 10 行 10 列的二维数组制作的板的坐标

如果棋子的任何部分超出游戏板区域,我想打印一个字符串 "offboard"。

    //Return true if the cell is offboard
    private boolean isOffBoard(int x, int y){
        if(board[x][y] < 0 || board[x][y] > 9){
            return true;
        }
        return false;
    }

但是当我尝试编译时,它给我一个错误提示:

二元运算符“<”的错误操作数类型

第一类Sqaure,第二类int

我知道我使用的运算符和数字与电路板的二维数组结构不匹配,但我真的不知道如何修复它才能正常工作。

我真的需要帮助来修复这个错误,以便我可以继续为游戏的其余部分编码。

您正在尝试比较 Square0(和 9)。与其尝试与电路板的内容进行比较,不如与数组的大小进行比较。 (此外,不要使用 if...return true。只需 return 值。)

private boolean isOffBoard(int x, int y){
    return (x < 0 || y < 0 || x >= board.length || y >= board[x].length);
}