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.
78 lines
2.0 KiB
78 lines
2.0 KiB
#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");
|
|
}
|