Witam,
Musze napisać program, który skrócie będzie wyglądał następująco:

Wyspa na której rośnie trawa, żyją kiwi i sepy. Kiwi zjadają trawę, sępy kiwi. zwierzęta oprócz pożerania trawy i siebie nawzajem maja sie rozmnażać, poruszać, mogą rosnąć i mieć jakieś tam swoje zwyczaje (np grupa głodnych kiwi może zaatakować sępa). Także pole do popisu jest bardzo duże. Jednym słowem taki mały ekosystem.

Jest to moje zadanie z "programowania obiektowego". Mam je napisać do świąt, a ze jest to mój pierwszy program jaki pisze w Javie i w ogóle pierwszy program pisany obiektowo. Dlatego napisze jak ja widzę strukturę tego programu i proszę wszystkich programistów Javy o sugestie lub porady.

Struktura programu:
Klasa glowna to wyspa:
zdefiniuje w niej tablice dwuwymiarową typu Object i w losowe miejsca podstawiam zasoby (trawę, sepy, kiwi)

I tutaj wlasnie nie mam pomyslu co dalej. Potrzebuje jakiś "silnik" który będzie to napędzał wszystko w określonych odstępach czasu (np z klasy Timer): przemieszczał zwierzęta, będzie definiował ze jak sep wejdzie na pole z kiwi to kiwi ginie albo jak kiwi kobieta i kiwi facet staną na jedno pole to będzie nowe kiwi ;)

Nadklasa abstrakcyjna zwierzęta

Klasy kiwi i sepy to podklasy zwierzęta w których zdefiniuje:
jedzenie, przemieszczanie sie, rozmnażanie, umieranie

Jak widać mam pewne problemy z ogarnięciem tego wszystkiego, jak to ma wyglądać. Dlatego proszę o pomoc. Czy sadzicie ze zrobienie tego wszystkiego na dwuwymiarowej tablicy typu Object to dobry pomysł? Jak miej więcej powinien wyglądać ten "silnik" program?