Załóżmy, że jest do napisania gra platformowa, gdzie jest sobie ludek którym gramy, ma kilka broni ze sobą i różnych przeciwników np. kosmici i wampiry. Można zbierać na planszy po drodze bonusy np. dodające punkty lub kolejne życie. Dodatkowo na planszy są aktywne przeszkadzajki jak kolce które wychodzą z ziemi i chowają się, i tak bez przerwy.
Co prawda mam to wszystko na myśli w kontekście Javascript, ale to bez większego znaczenia i pomijam oficjalny brak klas abstrakcyjnych. Klasycznie stworzyłoby się prawdopodobnie klasy takie jak: Broń, klasa abstrakcyjna Przeciwnicy i "przydzielone" jej klasy Kosmici oraz Wampiry. Stworzyłoby się także klasę abstrakcyjną Bonusy, a przydzielonymi jej klasami byłyby typy bonusów np. klasa "(Bonus) Więcej Życia", podobnie podchodzimy do przeszkadzajek, które byłby wstępnie klasą abstrakcyjną. Ludek nie miałby klasy, pozostałby obiektem bezklasowym, ponieważ tworzymy go tylko raz, wydaje się, że bez wyjątku.
Jak Wy rozplanowalibyście podział na klasy i obiekty? Może zrobilibyście to inaczej? Czy może lepiej obiekt Ludek czy tam Gracz tworzyć z klasy, czy może miałby to być "suchy" obiekt, zakładając pewność, że nie wdrożymy np. Multiplayera? Czy właściwości opisujące wygląd można traktować jak obiekt danego obiektu np. kosmita.wyglad.kolor: zielony? "wygląd" jako tako nie byłoby przecież obiektem, bo jak wygląd może być obiektem? Byłby to raczej zbiornik na właściwości i czy odpowiednie jest tu zastosowanie obiektu? Wiem, że tak się robi.
Chciałbym poznać Wasze zdanie i wizje odnośnie takiej mini-gierki. Być może lepiej się rozeznam i ugruntuje swoją wiedzę.