Member 13184959 Ответов: 1

Java breakout несколько попаданий на кирпич


Привет

Я пытаюсь сделать программу как часть моего задания, прорывную игру.
Есть много учебников для этой игры.
Однако задача, которую нам поставили, состоит в том, что в одном ряду должны быть кирпичи, которые принимают 3 удара, прежде чем они будут уничтожены, в другом ряду-2 удара на кирпич и в последнем ряду-1 удар на кирпич.
Я пытался придумать разные способы сделать это, хотя в конце концов решил, что лучше всего определить каждый кирпич по его координатам, чтобы иметь возможность манипулировать им дальше. Хотя я не уверен, что это лучший подход к этой проблеме.
К сожалению,существует не так много информации о нескольких попаданиях на кирпич для этой игры.
Если кто-то может направить меня или помочь мне понять, как решить эту проблему, я буду очень благодарен.

С уважением
Виталий

Что я уже пробовал:

Часы исследований, множество видео на youtube, документация oracle и т. д.

1 Ответов

Рейтинг:
2

Member 10317286

Создайте класс кирпича, Если вы еще этого не сделали, а затем создайте экземпляр для каждого кирпича на экране. Включите свойство для количества попаданий, которые он может принять. При создании экземпляров для первой строки установите это значение равным трем, для второй-двум, а для последней-единице. Каждый раз, когда кирпич ударяется, уменьшайте значение, и когда оно достигает нуля, кирпич ломается.


Member 13184959

Большое вам спасибо за ваш ответ! Я очень ценю это. Это дало мне большой толчок, и я чувствую, что это способ найти решение.

Однако, поскольку мы Изучаем Java всего лишь меньше года, и это задание довольно сложное с точки зрения знаний, которые мы получили за несколько месяцев, я борюсь с логикой и инструментами, которые я могу использовать в программировании на Java.

С тех пор как вы ответили на мой вопрос, я пытался придумать лучший способ сделать это.
Сейчас я работаю только с 1 рядом из 13 кирпичей.
У меня есть класс brick с переменной Hit counter, как вы и рекомендовали.

Я подумал, что лучший способ-сохранить каждый кирпич в массиве объектов. Таким образом, я могу обращаться к любому кирпичу и манипулировать им. Тем не менее, я снова застрял.

У меня есть метод, который вычисляет пересечение шара и кирпича (используя пересечения прямоугольников). В данный момент этот метод вызывается в цикле без чего-либо еще внутри цикла.
Здесь у меня возникают проблемы с захватом кирпича из массива, передачей его методу столкновения кирпичей и уменьшением количества попаданий этого конкретного кирпича.

Поскольку у меня есть цикл for, который идет до длины моего массива, он проверяет одно значение за другим. Но что мне нужно выяснить, так это вместо того, чтобы иметь цикл, который увеличивается один за другим, как сделать это по-другому.

Я бы вставил свой код сюда, но это такой беспорядок, и мне немного стыдно, потому что мне кажется, что я пытаюсь починить двигатель грузовика, не зная, как это сделать :-[

Заранее спасибо

Member 10317286

Просто найдите "2D обнаружение столкновений" - только на этом сайте есть более 500 статей... вы должны быть в состоянии найти что-то, что вы можете использовать.