То, что я пытаюсь сделать, - это сделать игру по соединению четырех, где фишки опускаются на дно, а затем они превращаются в следующий ход игроков.
Проблема, с которой я столкнулся, заключалась в том, что я мог заполнить только дно row, потому что каждый раз, когда я помещал туда чип, я снова вызывал метод placeChip, который перезапускал мой для l oop. Я видел эту проблему, и поэтому я создал c ArrayList для хранения значений количества элементов, которые были размещены для каждой строки. Так, например, если бы плата составляла 6 строк на 7 столбцов, arrayList выглядел бы так:
[6, 6, 6, 6, 6, 6, 6]
В моем методе placeChip я говорю, что если введенное место не заполнено, поместите туда чип. Однако, какое бы число я ни вводил, возникает ошибка ArrayOutOfBoundsException, и в этом случае (6x7) он говорит, что Index 6 выходит за пределы длины 6. Вот код, на который я только что ссылался (ошибка указывает на вторую строку в этом фрагменте, предположительно часть rowInput, потому что это единственная новая часть этой строки, которая была частично обработана, но все еще выполнялась раньше):
int rowInput = ammountOfItemsInEachCol.get(dropCol - 1);
if (!(playingBoard.isFull(rowInput, dropCol - 1))) { // saying if the spot is not occupied, fill it
ammountOfItemsInEachCol - это ArrayList, упомянутый выше, а dropCol - это значение, вменяемое пользователем, для какого столбца они хотели бы загляните.
Дайте мне знать, если я не дал достаточно информации или пропустил что-то еще.