Na MM budem reagovať neskôr, lebo mi napísal toho dosť veľa, tak si to prečítam poriadne, ale k tomuto len toľkoto:
Kresliaca metóda by mala byť univerzálna a podá sa aj červíkovi, takže nehrozí jej zmena, ak mením červíka, predstavujem si to nejako takto:
vynenovaný typ - hlava, telo, kapusta, jed, ohrada
formulár
obrázok
metóda kreslenia do obrázku(x, y, vymenovaný typ)
objekt červík
súradnice tela
dĺžka
smer
adresa metódy na kreslenie do obrázku
metóda na zistenie kde je hlava
metóda na zistenie dĺžky
metóda na zistenie konca hry
metóda na vytvorenie (konštruktor) (suradnice hlavy, adresa metódy na kreslenie)
metóda na krok červíka
urob krok
zavolaj kreslenie do obrázku a nakresli krok (x, y, vymenovaný typ)
koniec
koniec
metódy na chod hry
koniec
Takže by to bolo niečo ako nejaké rozhranie (nezamieňať so slovom interface, to má iný význam), cez ktoré by vedel červík vykresliť zmeny.
V metóde na krok červíka by sa skúmali všetky možnosti (narazenie do ohrady, zjedenie kapusty, zjedenie jedu, prechod prázdnym políčkom, zožratie vlastného tela) a podľa toho by sa kreslilo len to čo by bolo treba. Ono by sa to dalo aj úplne zapuzdriť a povedzme, že pri volaní kroku by obsluha dostala pole, kde by boli vyznačené všetky zmeny, ktoré by obsluha len vykreslila, ale toto sa mi zdá trochu pohodlnejšie. Preto ten príklad s volaním OnClick v Delphi, lebo toto by bolo niečo podobné.