Я пытаюсь сделать свой школьный проект «Трон». Я новичок, когда дело доходит до программирования ... Я делал некоторые столкновения с arraylist, и они работают отлично. Но я не могу сделать коллизионную змею с другим объектом ... Я использую это: snake1x и snake1y - координаты первой змеи и препятствия X является arraylist, который содержит координаты другого объекта.Java tron Collision, Combobox
for(int l=0;l<obstacleX.size();l++) {
if((snake1x == obstacleX.get(l)) && (snake1y == obstacleY.get(l))) {
running = false;
}
}
У меня есть объект уже обращается в моей игре, но змея просто передать Повсеместно это ... :( странно то, что я сделал это с методом на похожем столкновении между змеями и работает отлично :)
Моей вторая проблема с выпадающим списком и выбрать цвет для змеи ..
if (snake1 = true) {
for (int p = 0; p < pathx1.size(); p++) {
g.setColor(Color.white);
g.fillRect(pathx1.get(p), pathy1.get(p), width, height);
Я мог бы просто дать ему цвет, как это, но мне нужно, чтобы выбрать его из выпадающего списка и что там, где я теряюсь:)
Я буду признателен за любую помощь или что-нибудь, что может улучшить свою работу, как добавить другие вещи, и что-то подобное спасибо ~~ :-)
Каков тип данных snake1x и snake1y? Если они являются объектами, вы можете захотеть использовать метод «equals» для сравнения объектов. == проверяет, ссылаются ли они на объект SAME. Я думаю, что это может быть проблемой. – anonymous
они целые числа, содержащие только координаты, а затем они добавляются в arraylists - и поэтому создается «tron», как я делаю трейл – user3371957
Я все еще думаю, что вы испытываете проблему «автобоксинга» и сравниваете разные объекты с «= = ". Не смотря на то, как заполняется препятствие X ArrayList и как объявляется и назначается змея1x, трудно получить точный ответ для решения первой проблемы. Я создал ответ с тестовой программой, чтобы показать вам результат, который может быть неожиданным. Но, надеюсь, это поможет вам объяснить проблему, с которой вы столкнулись. – anonymous