#naukaprogramowania #python jak się powinno dobrze robić w grze którą pisze jest dużo rodzajów potworów ale w gruncie rzeczy robą one to samo, tylko sposób jest z deczka inny. Powinieniem zrobić klase monster i każdy potwór po niej dziedzicy przeciążając metody? czy źle myslę?
@wytrzzeszcz: Możesz mieć też klasy pośrednie. W sensie MONSTER, a potem: MONSTER -> SEA MONSTER -> jakieś inne monstery z morza MONSTER -> AIR MONSTER -> powietrzne monstery MONSTER -> LAND MONSTER -> lądowe monstery...
Wiesz, żeby nie pisać 10 razy modelu poruszania się monstera po mapie dajmy na to.
@wytrzzeszcz: W zasadzie dobrze, przy czym zalecana jest rozwaga (dziedziczyć podstawowe rzeczy, ew. składać potwory z elementów, w których są określone np. zachowania). Ciężko powiedzieć bez poznania złożoności systemu. Jak #python to poczytaj też o abc (Abstract Base Classes).
@wytrzzeszcz: Prowadziłem i zmieniałem kiedyś (20lvl temu) muda. Kod byl jeszcze w C, postacie o ile dobrze pamiętam były zapisane w pseudo-skryptach, lokacje na pewno. Przejrzyj sobie kody (powinny być dostępne, nazwy daje z pamięci): Envy, Diku. No i oczywiście warto zerknąć na nethacka.
jak się powinno dobrze robić
w grze którą pisze jest dużo rodzajów potworów
ale w gruncie rzeczy robą one to samo, tylko sposób jest z deczka inny.
Powinieniem zrobić klase monster
i każdy potwór po niej dziedzicy przeciążając metody?
czy źle myslę?
W sensie MONSTER, a potem:
MONSTER -> SEA MONSTER -> jakieś inne monstery z morza
MONSTER -> AIR MONSTER -> powietrzne monstery
MONSTER -> LAND MONSTER -> lądowe monstery...
Wiesz, żeby nie pisać 10 razy modelu poruszania się monstera po mapie dajmy na to.
Jak #python to poczytaj też o abc (Abstract Base Classes).
tu można zobaczyć ja coś
https://github.com/wytrzeszcz/mirko_mud/blob/master/monsters.py
Zrób zamiast "polishname" coś w stylu "name = SPECIALKEYWHICHIDENTIFYTHISNAME"
i zrób sobie gdzieś konfig, gdzie pod tym kluczem będą pochowane wartości PL, EN, DE, RU... i będzie po prostu rozwijać słownik.
A prefiksy wersji językowych będą pobierane z sesji/profilu użytkownika.
Przejrzyj sobie kody (powinny być dostępne, nazwy daje z pamięci): Envy, Diku. No i oczywiście warto zerknąć na nethacka.
gettext