Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Gra 2D - jak zapisywać stan gry?

Ostatnio zmodyfikowano 2016-12-06 14:18
Autor Wiadomość
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
P-154566
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.
P-154567
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:
C/C++
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.
P-154569
mokrowski
» 2016-12-06 14:18:56
https://developers.google.com/protocol-buffers/?hl=pl
P-154583
« 1 »
  Strona 1 z 1