Witam,
Miałem za zadanie napisanie małej gry planszowej z możliwością zapisu oraz odczytu stanu gry. Sama gra działa. Zapis do pliku z tego co widzę też jest poprawny. Niestety mam problem z wczytaniem danych z pliku do struktury. Oto kod:
struct pole // struktura przechowujaca dane o graczu
{
char g;
int pole;
int punkty;
};
void zapisz_gre(char plansza[100],pole *gracz, int gracze)
{
ofstream fout("SaveMap");
for(int i=0;i<100;i++)
{
fout << plansza[i] << ";";
}
fout.close();
ofstream plik("SaveData");
for(int i=0;i<gracze;i++)
{
plik << gracz[i].g << ";" << gracz[i].pole << ";" << gracz[i].punkty << ";";
}
plik.close();
}
void wczytaj_gre(char plansza[100], pole *gracz, int gracze)
{
ifstream fin("SaveMap");
char ch;
int i=0;
while(fin.get(ch))
{
if(ch!=';')
{
plansza[i]=ch;
i++;
}
}
fin.close();
int licznik=0;
ifstream plik("SaveData");
for(int i=0;i<gracze;i++)
{
while(licznik<3 and plik.get(ch))
{
if(ch!=';')
{
if(licznik==0)
{
gracz[i].g=ch;
licznik++;
}
else if(licznik==1)
{
gracz[i].pole=ch;
licznik++;
}
else if(licznik==2)
{
gracz[i].punkty=ch;
licznik++;
}
}
}
licznik=0;
}
plik.close();
}
Jeszcze przykładowy plik z zapisaną strukturą "SaveData" a-nick, 20-aktualne pole,0-ilość punktów itd. w zależności od ilości graczy
a;20;0;b;33;3;
Samo wczytanie planszy(tablicy) jest poprawne tylko wczytanie danych o do struktury się gdzieś sypie. Zapewne jakiś głupi błąd zrobiłem ale siedzę już nad tym tyle czasu, że nie mogę go znaleźć.
Z góry dziękuje za pomoc.