|
|
#include <stdio.h>
#include <stdlib.h>
#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"); }
|