Hej. Właśnie siedzę nad małym próbnym projektem. Chcę w nim wypróbować różne podejścia w Angular + ASP.NET Core. Projekt zakłada, że 2 osoby będą mogły zagrać ze sobą w kółko i krzyżyk, dla przykładu.
Zastanawiam się jak obaj gracze będą mogli uzyskać i mieć dostęp do stanu gry? Chcę zaznaczyć, że komunikacja między graczami ma się odbywać przy użyciu SignalR. Choć przyznaję, że jest to dla mnie nowe i nie mam jeszcze pewności czy wybór jest dobry, choć na chwilę obecną taki się wydaje.
Wracając do tematu, zakładając, że obaj gracze będą mogli prowadzić między sobą autoryzowaną komunikację, w każdej swojej rundzie każdy z nich de facto swoim kliknięciem zaktualizuje stan gry, czyli m.in. stan tablicy do gry w kółko i krzyżyk, każdego jej pola, wyniku itd.
Na chwilę obecną jedyne rozwiązanie jakie przychodzi mi do głowy to:
- na samym początku utworzenie w TS obiektu stanu gry,
- aktualizowanie u obu graczy obiektu stanu gry przy każdym kliknięciu na planszy przez jednego z graczy
- odczyt i zapis przez obu graczy obiektu stanu gry do/z
localStorage
.
Czy to podejście jest poprawne? Czy muszę się liczyć z jakimiś trudnościami/zagrożeniami, w tym security? Czy znacie jakieś lepsze rozwiązania?