Witam, mam prostokąta złożonego z kwadratów, po których chodzą zające i wilk. Metoda animation()
uruchamia animację gonienia zająców przez wilka. Jest ona w klasie, gdzie jest obsługiwana metoda repaint()
. Są także osobne klasy Wolf
i Hare
które extendują Thread
. Chcę, żeby działała mi animacja, uruchamiając i wilki i zające poleceniem xxx.start()
, a nie wpisywać tak jak mam tutaj xxx.move()
.
Jeśli to jest niezrozumiałe lekko, to inaczej - chcę włączenie animacji pisząc tylko wolf.start()
i dla każdego zająca z klasy Hare Hare.start()
i ma mi się dziać to co poniżej. Jak napisać metody run()
w klasach Hare
i Wolf
tak żeby mi to działało? (jedyne co zmienić, to żeby nie uruchomiało mi się w takiej samej kolejności, tylko każda "żyła" swoim życiem i się uruchamiała co jakiś losowy czas (oryginalnie w kodzie mam pseudolosową liczbę zamiast 100)
Kody -
public void animation()
{
while(hares.isEmpty() == false)
{
try{
Thread.sleep(100);
}
catch( InterruptedException e){}
wolf.move();
repaint();
for(Hare i: hares){
try{
Thread.sleep(100);
}
catch( InterruptedException e){}
i.move();
repaint();
}
}
}