#include #include #include "Schachbrett.h" #include "Bauer.h" #include "Spieler.h" #include "Historie.h" 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 } void speichern_spielstand_schachbrett(char** Brett, const char* dateiName){ FILE* datei = fopen(dateiName, "wb"); if (datei == NULL) { printf("Fehler beim Öffnen der Datei zum Speichern.\n"); return; } // Schreibe das Schachbrett in die Datei for (int i = 0; i < 8; i++) { fwrite(Brett[i], sizeof(char), 8, datei); } fclose(datei); } void laden_spielstand_schachbrett(){ /* Binäre Datei muss geöffnet werden Daten müsseneingelesen werden Daten werden in extra array gespeichert werden Spielfeldarray wird auf den Stand von Speichern gebracht */ }