Miksi seuraava koodi ei suostu tallentamaan tietoja vaan kaikki päättyy resettiin ja exittiin?
bool Dungeon::SaveArea(const char *nimi)
{
kokoZ=1;kokoX=30;kokoY=30;
short t,apu,x,y,z;
FILE *C;
if((C = fopen(nimi, "wb+")))
{
for (z=0;z<1;z++)
{
for (y=0;t<kokoY;y++)
{
for (x=0;x<kokoX;x++)
{
apu=lattia[x][y][z];fwrite(&apu,sizeof(short),1,C);
apu=seina[x][y][z];fwrite(&apu,sizeof(short),1,C);
apu=ovet[x][y][z];fwrite(&apu,sizeof(short),1,C);
apu=huonekalu[x][y][z];fwrite(&apu,sizeof(short),1,C);
}
}
}
}else {Reset();exit(0);}
fclose(C);
return true;
}Mikäköhän tuossa rivillä 10 olevalla pätkällä on idea?
for (y=0;t<kokoY;y++)
Tuossahan siis verrataan t:tä kokoY:n vaikka varmaan pitäisi verrata y:n kanssa.
Myöskään en ymmärrä tuon t:n tarkoitusta, koska sitä ei alusteta eikä käytetä missään.
Kannaattaa vielä laittaa tuonne elseen perror:
perror ("Error opening file");niin tiedät miksi tiedosto ei avaudu.
Kiitos sain toimimaan,en huomannut tuota hiton teetä.
Ratkaisu ei kuitenkaan ollut aivan ihan siinä.
Sain toimimaan kun käytin seuraavia kutsuja:
area->SaveArea("area.dat");
area->LoadArea("era.dat",true);Voisiko joku kertoa kuinka määritän polun tuohon jos esimerkiksi haluan area.datin original kansion sisälle joka on peliä pyörittävän kansion alikansio?
Näinhän sen pitäisi käydä:
area->SaveArea("original/area.dat");Aihe on jo aika vanha, joten et voi enää vastata siihen.