目前正在为我的大学上一个任务开展一个小游戏。
我目前的问题是游戏牌是2D Array of Cells
(自制级)。该板是使用我读入的txt.file创建的。现在有多个命令可供用户输入。一个命令是创建一个新的游戏对象并使用特定的x和y参数将其放在板上。
有没有办法检查该字段是否足够大,除了这个参数之外还输入了参数:
try {
gameField.getField()[Integer
parseInt(splittedCom[1])][Integer
parseInt(splittedCom[2])].getStatus();
} catch (ArrayIndexOutOfBoundsException e) {
Terminal.printLine("Error, this cell isn't in the gameField");
}
我正在使用它来检查另一个命令。有没有办法在没有异常的情况下使用它?
答案 0 :(得分:1)
由于您的数组已经构建,因此您应该已经拥有数组的维度,因此您将使用gameBoard.length
作为宽度,使用gameBoard[0].length
作为高度,并使用它们与其进行比较是用户提供的。
编辑:根据您的问题:
如果您可以访问gameBoard
对象,则无需保存它们,因为该信息可通过gameBoard
对象本身获得。或者,您必须以某种方式坚持它们。请注意,虽然您浪费一些额外的内存来存储值,但抛出异常也会产生成本,应该避免(在这种情况下)。您希望用户提供不正确的值的情况不属于异常情况的标准,因为这是您期望的。
答案 1 :(得分:0)
检查输入,只要它适合您的游戏场。
boolean checker = false;
while(!checker){
if( /* check if the input is inside the gamefield */){
checker = true;
}
}