diff --git a/src/Historie.c b/src/Historie.c index 6cd7329..5f27306 100644 --- a/src/Historie.c +++ b/src/Historie.c @@ -5,10 +5,55 @@ #include "Spieler.h" -void hinzufuegen_historie() { +int** erstellen_historie(int startX, int startY, int endX, int endY, Player player, int anzahl_Zuege) { + int Infos = 4; // Spalten + int Max_Zuege = 70; // Zeilen + + // Dynamisch Platz zuweisen für Historie + int** Historie = (int**)malloc(Max_Zuege * sizeof(int*)); + + if (Historie == NULL) { + // Fehler bei Speicherzuweisung + return; + } + + for (int i = 0; i < Max_Zuege; i++) { + Historie[i] = (int*)malloc(Infos * sizeof(int)); + + if (Historie[i] == NULL) { + // Speicherfehlerbehebung + for (int j = 0; j < i; j++) { + free(Historie[j]); + } + free(Historie); + return; + } + } + + // Hier kannst du die Zuginformationen in die Historie eintragen + Historie[anzahl_Zuege][0] = startX; + Historie[anzahl_Zuege][1] = startY; + Historie[anzahl_Zuege][2] = endX; + Historie[anzahl_Zuege][3] = endY; + + // Spielerinformationen können ebenfalls gespeichert werden, falls benötigt + // Historie[anzahl_Zuege][4] = player.id; // Beispiel für Spieler-ID + + // ... + + } +void Historie_freigeben(int** Historie) { + // Speicher freigeben für Historie + for (int i = 0; i < 70; i++) { + free(Historie[i]); + } + free(Historie); +} + + void print_historie() { diff --git a/src/Historie.h b/src/Historie.h index 1723796..c9b3b05 100644 --- a/src/Historie.h +++ b/src/Historie.h @@ -1,7 +1,10 @@ #ifndef HISTORIE #define HISTORIE +#include "Spieler.h" + +int** erstellen_historie(int startX, int startY, int endX, int endY, Player player, int anzahl_Zuege); +void Historie_freigeben(int** Historie); void print_historie(); -void hinzufuegen_historie(); #endif // HISTORIE