Есть Класс Game
с Arraylist
-ом,в котором номинально содержатся объекты player
Класс Wolf
унаследован от player
, и имеет метод kill()
public class Game {
static ArrayList<player> players = new ArrayList<player>();
Arraylist
содержит объекты как player
,так и Wolf
Так вот при переборе этого ArrayList
-а надо сделать так,чтобы метод субкласса использовался как в коде показанном ниже,для объектов Wolf
разумеется
for(player ppl : players) {
if(ppl.Role == "Wolf") {
ppl.kill();
Если это сделать нельзя,то буду благодарен за альтернативное решение проблемы
// Базовый игровой персонаж, с характерными признаками и действиями любого персонажа игры
class Character {
}
// Игрок тоже игровой персонаж
class Player extends Character {
}
// Киллером могут быть и не только волки
interface Killer {
void kill();
}
// Волк это не только игровой персонаж, но и киллер
class Wolf extends Character implements Killer {
void kill() {
// Характерный для волка почерк в убийстве
}
}
class Game {
static ArrayList<Character> characters = new ArrayList<Character>(); // Почему static?
...
}
for(Character ch : Game.characters) {
if(ch instanceof Killer) { // Любой киллер, а не только волки
// если нужны именно волки, то if (ch instanceof Wolf)
((Killer)ch).kill();
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пишу клиент-серверное приложение (браузерная игра) в командеЯвляюсь backend программистом
Подскажите, пожалуйстаЕсть 2 таблицы в БД с соотношением @ManyToMany с соединением через третью таблицу
Изучаю структуры данных и пытаюсь создать бинарное дерево поиска с дженериками и пройтись по нему в глубину in orderКогда вызываю метод inOrder...