[C++] Jak odczytać stan gry z pliku tekstowego?


(kijek) #1

Pomyślałem, aby w grze, którą właśnie piszę dodać możliwość zapisu i odczytu stanu gry. Lecz nie mam pojęcia, jak odczytywać stan gry. Plik ze stanem gry wygląda tak:

Imię_gracza

Życie_gracza

Złoto_gracza

Level_gracza

Całość zapisana jest za pomocą biblioteki fstream. Myślę, że aby wczytać stan gry będzie trzeba najpierw zresetować zmienne imie, zycie, zloto i level, a potem wczytać dane z pliku (pierwsza linijka=zmienna imie, druga=zycie itd.), ale nie mam pojęcia, jak coś takiego zrobić.


(Kalin 93) #2

getline () ... Poza tym bedziesz musiał użyć stringstreamów żeby ze stringa mieć typ INT


(kijek) #3

Ok, ale jak zresetować zmienne przed wczytaniem? Chyba, że pomnożyć te zmienne przez zero, a po tym wstawić kod do wczytania danych. Za chwilę zobaczę, czy to w ogóle mi się uda.

PS. Po co miałbym użyć tych stringstreamów, jeżeli wszystkie zmienne, które mają być liczbowe są zapisane liczbowo?


(Sawyer47) #4

Ale po co "resetować" zmienne skoro po chwili coś do nich przypiszesz (wartości wczytane z pliku).


(kijek) #5

Ale w nich są już domyślnie określone dane. Np.

int zycie=100;

int zloto=100;

float level=0.00;

Ale może piszę w ogóle jakąś głupotę, ponieważ jeszcze nie wiem, jak wczytać pierwszą linijkę do zmiennej x, drugą do zmiennej y itd.


([alex]) #6
string imie;

int zloto,zycze;

float level;

fstream f;

f.open("plik",ios::in);

f>>imie>>zloto>>zycze>>level;

f.close();

(kijek) #7

Dzięki, zaraz zobaczę, jak to działa.

Ok, działa, lecz nie wszystko. Trzeba jakoś zresetować te zmienne i potem dodać do nich wartości z pliku, ponieważ po wczytaniu są domyślne dane.