You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.2 KiB
81 lines
2.2 KiB
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#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
|
|
|
|
*/
|
|
}
|