Wyobraźmy sobie grę taką jak Heroes of Might and Magic, Master of Orion lub twoją grę turową. Jaka jest logika gry podczas następnej tury? Czy są jakieś materiały lub książki do przeczytania na ten temat? Mówiąc konkretnie, wyobraźmy sobie pętlę gry:
void eventsHandler(); //something that responds to input
void gameLogic(); //something that decides whats going to be output on the screen
void render(); //this function outputs stuff on screen
Wszyscy są nazywani, powiedzmy 60 razy na sekundę. Ale jak wchodzi tu turowa? Mogę sobie wyobrazić, że w gameLogic () istnieje funkcja taka jak endTurn (), która pojawia się, gdy gracz kliknie ten przycisk, ale jak sobie z tym poradzić? Potrzebujesz wglądu.
źródło
Niedawno zbudowałem turową grę strategiczną podobną do Master of Orion (obecnie jest to tylko jeden gracz, tryb wieloosobowy byłby nieco bardziej złożony, ale podobny pomysł), oto jak wygląda moja logika funkcji endTurn (w moim główna klasa Game Controller):
Moja funkcja końcowej tury odtwarzacza wykona funkcje specyficzne dla tego gracza, na który nie ma wpływu kolejność zachodząca między graczami:
W stosownych przypadkach funkcje te zwracają komunikaty o stanie i / lub zdarzenia wyzwalające, dzięki czemu GUI może pokazać, co się stało podczas tury lub powiadomić gracza, że komputer został zniszczony itp.
źródło