Я создаю основную игру в стиле линкора на Java и использую вложенные списки для представления игровой сетки. Тем не менее, я продолжаю получать исключение IndexOutOfBoundsException при попытке остановить корабль.
Игровое поле имеет конструктор следующим образом
public Board(){
theSea = new ArrayList<ArrayList<ShipInterface>>(10);
for(int i = 0; i < theSea.size(); i++){
theSea.set(i, new ArrayList<ShipInterface>(10));
}
}
Способ размещения корабля следующий:
public void placeShip(ShipInterface ship, Position position, boolean isVertical) throws InvalidPositionException, ShipOverlapException{
for(int i=0; i<ship.getSize(); i++){
theSea.get((position.getX()-1) + i).set(position.getY()-1, ship);
}
}
Однако я получаю сообщение об ошибке в строке theSea.get((position.getX()-1) + i).set(position.getY()-1, ship);
Я новичок, так что извините, если мне не хватает некоторого очевидного фрагмента кода!