|
|
@ -7,4 +7,48 @@ |
|
|
|
|
|
|
|
void speichern_spielstand_historie(int** Historie, int anzahl_Zuege, const char* dateiName) { |
|
|
|
|
|
|
|
int ZUG_INFO = 5; |
|
|
|
FILE* datei = fopen(dateiName, "wb"); |
|
|
|
|
|
|
|
if (datei == NULL) { |
|
|
|
printf("Fehler beim Öffnen der Datei zum Speichern.\n"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// Schreibe die Anzahl der Züge in die Datei |
|
|
|
fwrite(&anzahl_Zuege, sizeof(int), 1, datei); |
|
|
|
|
|
|
|
// Schreibe die Historie in die Datei |
|
|
|
fwrite(*Historie, sizeof(int), ZUG_INFO * (anzahl_Zuege + 1), datei); |
|
|
|
|
|
|
|
fclose(datei); |
|
|
|
} |
|
|
|
|
|
|
|
int laden_spielstand_historie(int*** Historie, int* anzahl_Zuege, const char* dateiName) { |
|
|
|
int ZUG_INFO = 5; |
|
|
|
FILE* datei = fopen(dateiName, "rb"); |
|
|
|
|
|
|
|
if (datei == NULL) { |
|
|
|
printf("Fehler beim Öffnen der Datei zum Laden.\n"); |
|
|
|
return 0; // Rückgabewert 0 bedeutet Fehler |
|
|
|
} |
|
|
|
|
|
|
|
// Lese die Anzahl der Züge aus der Datei |
|
|
|
fread(anzahl_Zuege, sizeof(int), 1, datei); |
|
|
|
|
|
|
|
// Allokiere Speicher für die Historie basierend auf der gelesenen Anzahl der Züge |
|
|
|
*Historie = (int**)malloc((*anzahl_Zuege + 1) * sizeof(int*)); |
|
|
|
|
|
|
|
if (*Historie == NULL) { |
|
|
|
printf("Fehler bei der Speicherzuweisung.\n"); |
|
|
|
fclose(datei); |
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
// Lese die Historie aus der Datei |
|
|
|
fread(**Historie, sizeof(int), ZUG_INFO * (*anzahl_Zuege + 1), datei); |
|
|
|
|
|
|
|
fclose(datei); |
|
|
|
|
|
|
|
return 1; // Rückgabewert 1 bedeutet Erfolg |
|
|
|
} |