Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace GameMaster
- {
- class Program
- {
- public static class GameStates {
- public static int Initianing = 1;
- public static int WaitingForPlayers = 2;
- public static int Playing = 3;
- }
- public class GameMaster {
- //klasa do prowadzenia jednej rozgrywki
- //tutaj deklaracje tablic graczy, plansza i inne tego rodzaju rzeczy
- public int GameState; // Initiating WaitingForPlayers Playing ...
- // np if(SomeGameMaster.GameState == GameStates.Initiating) { <wiemy, że ten GM jest w stanie inicjacji>}
- //pomysł jest taki żeby dla każdego stanu mieć oddzielną funkcję blokującą jak niżej i jeśli potrzeba to wywoływać je asynchronicznie
- public void Initiate() {
- /*
- ta fukcja jest blokująca (tak samo jak i inne niżej)
- inicjowanie zmiennych, interpretowanie konfiguracji (tylko dla danej gdy) ...
- ta funkcja robi return dopiero gdy ta klasa jest gotowa na przyjowanie połączeń graczy
- */
- }
- public void WaitForPlayers() {
- /*
- robi return dopiero gdy wszyscy gracze są podłączeni i gotowi do grania
- */
- }
- public void Play() {
- /*
- w tej funkcji program spędza najwięcej czasu
- return dopiero gdy gra jest skończona
- */
- }
- //inne funkcje ...
- //może w ogóle zrobić jedną wielką funkcję (połączyć w jedną) albo włożyć je do jednej wielkiej funkcji z której wywoływać Initiate() PlayGame() etc ...
- }
- static void Main(string[] args)
- {
- // jak rozumiem tą część Jacek robił
- // ! może Initiate zrobić odrazu dla wszystkich GM?
- GameMaster[] Games = new GameMaster[777];
- Games[4].Initiate();
- Games[4].WaitForPlayers();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement