对于我正在制作的游戏,我需要在10x10游戏板上放置类似俄罗斯方块的棋子。
如果玩家试图将棋子放在棋盘外的单元格上,我想返回“offboard”
为此,我已经制作了一个初始方法,如果该片段为offfboard,则返回true。
x和y是我使用带有10行10列的2d数组制作的电路板坐标
如果作品的任何部分超出游戏板区域,我想打印一个字母“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;
}
但是当我尝试编译时,它给出了一个错误说:
二元运算符'&lt;'
的错误操作数类型首先输入Sqaure,第二个输入int
据我所知,我使用的运算符和数字与主板的2d数组结构不匹配,但我真的不知道如何修复它以使其正常工作。
我真的需要帮助解决这个错误,所以我可以继续编写剩下的游戏。
答案 0 :(得分:2)
您正在尝试将Square
与0
(以及9
)进行比较。而不是尝试与电路板的内容进行比较,与数组的大小进行比较。 (另外,请勿使用if...return true
。只需返回值。)
private boolean isOffBoard(int x, int y){
return (x < 0 || y < 0 || x >= board.length || y >= board[x].length);
}