|
|
@ -0,0 +1,59 @@ |
|
|
|
#include <stdio.h> |
|
|
|
#include <stdlib.h> |
|
|
|
|
|
|
|
char** Schachbrett_erstellen() { |
|
|
|
|
|
|
|
int R = 8; //Reihen |
|
|
|
int Z = 8; //zeilen |
|
|
|
|
|
|
|
//Dynamisch Platz zuweisen für schachbrett |
|
|
|
char** Brett = (char**)malloc(R * sizeof(char*)); |
|
|
|
|
|
|
|
if (Brett == NULL) { |
|
|
|
// Fehler bei speicherzuweißung |
|
|
|
return NULL; |
|
|
|
} |
|
|
|
for (int i = 0; i < R; i++) { |
|
|
|
Brett[i] = (char*)malloc(Z * sizeof(char)); |
|
|
|
if (Brett[i] == NULL) { |
|
|
|
// Speicherfehlerbehbung |
|
|
|
for (int j = 0; j < i; j++) { |
|
|
|
free(Brett[j]); |
|
|
|
} |
|
|
|
free(Brett); |
|
|
|
return NULL; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// Spielbrett befüllen |
|
|
|
char Aufbau[8][8] = { |
|
|
|
{ 'R' , 'N' , 'B' , 'Q' , 'K' , 'B' , 'N' , 'R' }, |
|
|
|
{ 'P' , 'P' , 'P' , 'P' , 'P' , 'P' , 'P' , 'P' }, |
|
|
|
{ ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' }, |
|
|
|
{ ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' }, |
|
|
|
{ ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' }, |
|
|
|
{ ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' , ' ' }, |
|
|
|
{ 'p' , 'p' , 'p' , 'p' , 'p' , 'p' , 'p' , 'p' }, |
|
|
|
{ 'r' , 'n' , 'b' , 'q' , 'k' , 'b' , 'n' , 'r' } |
|
|
|
}; |
|
|
|
|
|
|
|
for (int i = 0; i < 8; i++) { |
|
|
|
for (int j = 0; j < 8; j++) { |
|
|
|
Brett[i][j] = Aufbau[i][j]; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return Brett; |
|
|
|
} |
|
|
|
|
|
|
|
void Schachbrettspeicher_freigeben(char** Brett, int Reihen) { |
|
|
|
if (Brett == NULL) { |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
for (int i = 0; i < Reihen; i++) { |
|
|
|
free(Brett[i]); |
|
|
|
} |
|
|
|
|
|
|
|
free(Brett); |
|
|
|
} |