Witam. Piszę dla zabawy grę Sneak Multiplayer.
Założenia są takie, że:
- każdy gracz ma swojego węża, który przesuwa się co jakiś odstęp czasu
- odstęp czasu jest taki sam dla wszystkich graczy i maleje w trakcie rozgrywki
- przytrzymanie klawisza kierunku powoduje, że wąż przyśpiesza
No i mam takie pytania:
-
Czy lepiej żeby każdy gracz miał swój wątek, który kontroluje kierunek, przesuwanie i kolizje?
Czy lepiej żeby takie operacje wykonywane były dla wszystkich graczy po kolei, ale w jednym wątku? -
Obiekt gry posiada zdarzenia, w których należy pokazać stan gry na formie. Czy takie zdarzenia powinny być odpalane wątku głównym aplikacji?
A jeżeli tak, to czy one wymagają jeszcze synchronizacji tzn. czy w ten sposób mogą wykonać się dwa zdarzenia jednocześnie?
Czy dobrym rozwiązaniem tego będzie w obiekcie gry utworzenie pola ParentControl i wywoływanie zdarzeń poprzez ParentControl.Invoke?