目前正在为我在大学的最后一项任务做一个小游戏。我目前的问题是,游戏板是一个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");
}我目前正在使用它来检查它是否有另一个命令。有没有一种毫无例外地使用这个的方法?
发布于 2015-03-13 15:54:20
由于您的数组已经构造,您应该已经有了数组的维度,所以您将使用gameBoard.length表示宽度,使用gameBoard[0].length表示高度,并使用它们与用户提供的任何内容进行比较。
编辑:根据你的问题:
如果可以访问gameBoard对象,则不需要保存它们,因为这些信息可以通过gameBoard对象本身获得。或者,您必须以某种方式坚持它们。请注意,虽然您正在浪费一些额外的内存来存储值,但抛出异常也有其代价,应该避免(在本例中)。期望用户提供不正确值的情况不属于异常情况的标准,因为这是您所期望的。
发布于 2015-03-13 15:55:37
检查输入,只要它适合你的游戏场。
boolean checker = false;
while(!checker){
if( /* check if the input is inside the gamefield */){
checker = true;
}
}https://stackoverflow.com/questions/29036608
复制相似问题