#include #include #include "Schachbrett.h" #include "Bauer.h" #include "Spieler.h" int** erstellen_historie() { int MAX_ZUEGE = 70; int ZUG_INFO = 5; // Dynamisch Platz zuweisen für Historie int** Historie = (int**)malloc(MAX_ZUEGE * sizeof(int*)); if (Historie == NULL) { // Fehler bei Speicherzuweisung return NULL; } for (int i = 0; i < MAX_ZUEGE; i++) { Historie[i] = (int*)malloc(ZUG_INFO * sizeof(int)); if (Historie[i] == NULL) { // Speicherfehlerbehebung for (int j = 0; j < i; j++) { free(Historie[j]); } free(Historie); return NULL; } } return Historie; } void Historie_freigeben(int** Historie) { // Speicher freigeben für Historie int MAX_ZUEGE = 70; for (int i = 0; i < MAX_ZUEGE; i++) { free(Historie[i]); } free(Historie); } void hinzufuegen_historie(int** Historie, int startX, int startY, int endX, int endY, Player player, int anzahl_Zuege) { // 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; if(player == PLAYER_WHITE){ Historie[anzahl_Zuege][4] = 0; }else{ Historie[anzahl_Zuege][4] = 1; } } void print_Historie(int** Historie, int anzahl_Zuege) { printf("Historie der Züge:\n"); for (int i = 0; i <= anzahl_Zuege; i++) { if(Historie[i][4] == 0){ printf("%d. Zug: Von (%d, %d) nach (%d, %d) von Spieler Weiß\n", i + 1, Historie[i][0], Historie[i][1], Historie[i][2], Historie[i][3]); }else{ printf("%d. Zug: Von (%d, %d) nach (%d, %d) von Spieler Schwarz\n", i + 1, Historie[i][0], Historie[i][1], Historie[i][2], Historie[i][3]); } } printf("\n"); }