Я пытаюсь заставить своих «Монстров» перемещаться по массиву «PathingCoordinates», устанавливая для отдельных монстров «chasePoint». Но каждый раз, когда я добавляю более 1 монстра, они бегают по JPanel во всех направлениях. (Мое предположение: выбрать самый быстрый маршрут к следующей «точке погони»)
Поскольку я новичок в java и впервые использую цикл foreach, я был бы признателен, если бы кто-нибудь указал мне направление, в котором моя логика терпит неудачу.
for (Monster i : Monstre)
{
this.add(i); //Adds all monsters from the "Monstre" arrayList
i.setBounds(i.monsterx, i.monstery, Monster.img0.getIconWidth(), Monster.img0.getIconHeight());
if(i.monstery == i.chasePoint.getY() && i.monsterx == i.chasePoint.getX() ){
p++;
i.chasePoint = PathingCoordinates.get(p);
}
if(i.monsterx < i.chasePoint.getX()){
i.monsterx++;
}else if(i.monstery < i.chasePoint.getY()){
i.monstery++;
}else if(i.monsterx > i.chasePoint.getX()){
i.monsterx--;
}else if(i.monstery > i.chasePoint.getY()){
i.monstery--;
}
}
Приносим извинения, если требуется дополнительная информация, пожалуйста, запросите.
Редактировать: есть задержка между появлением каждого монстра. Первый монстр преследует правильную «chasePoint» следующих мобов, кажется, движется случайным образом.
p
должна быть переменной-членомMonster
, а не глобальной, общей для всех монстров. - person Vincent van der Weele   schedule 13.05.2013