Gra 2D - jak zapisywać stan gry?
Ostatnio zmodyfikowano 2016-12-06 14:18
PL_Andrev Temat założony przez niniejszego użytkownika |
Gra 2D - jak zapisywać stan gry? » 2016-12-05 23:23:09 Witam,
Pracuję koncepcyjnie nad grą strategiczną PBEM (play-by-e-mail), która ma działać w następujący sposób:
1. host tworzy pliki gry; (osobne dla każdego z graczy) 2. gracze wpisują zadania dla dostępnych obiektów w grze; 3. host scala pliki i oblicza rezultaty zadań (zmiana ilości obiektów i wartości zmiennych obiektów) -> do punktu 1.
Według założeń plik wynikowy może zawierać dane kilkaset tysięcy obiektów, (np. 100 miast opisanych przez około 100 różnych zmiennych typu int, bool, String ) = 10'000 różnego typu zmiennych.
Pytanie:
Czy są jakieś uniwersalne metody do przechowywania tych danych w plikach, a następnie w miarę komfortowe ładowanie danych do obiektów? Tymczasowo zapisuję dane poprzez pętle jako tablice do pliku.txt: (pierwszy rekord mówi o typie klasy, a kolejne dane z linii określają wartości zmiennych obiektu)
Są może jakieś inne / lepsze / wydajniejsze metody?
Środowisko pracy: Borland C++ 6 |
|
Saran |
» 2016-12-05 23:30:11 No, metod do tego raczej specjalnych nie ma. Ot, wymyśl sobie wydajny sposób zapisywania kolejnych danych w plikach, a następnie je odczytuj. |
|
Gibas11 |
» 2016-12-05 23:39:13 Odpowiednio oprogramuj sobie te dwa operatory dla każdej klasy i używaj ich do zapisu/odczytu danych: std::istream & operator >>( std::istream & in, TwojaKlasa & obj ) { } std::ostream & operator <<( std::istream & out, TwojaKlasa & obj ) { }
A do zarządzania danymi samymi w sobie możesz użyć czegoś prostego, choćby XML. Tylko w takiej sytuacji musisz wyuczyć funkcje wyżej odpowiedniego formatowania danych, żeby ciąg "2>3" nie popsuł Ci pliku. |
|
mokrowski |
» 2016-12-06 14:18:56 https://developers.google.com/protocol-buffers/?hl=pl |
|
« 1 » |