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();

				
			}
		}
	}