|
|
#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, groß und kleinschreibung unterschiedlich um schwarz/weiß zu trennen
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 print_Schachfeld(char** Brett) { int counter = 1; printf(" - 1 2 3 4 5 6 7 8 \n"); for (int i = 0; i < 8; i++) { printf(" %d " , counter); counter++; for (int j = 0; j < 8; j++) { printf(" %c ", Brett[i][j]); } printf("\n"); } printf("\n"); printf("\n"); }
void Schachbrettspeicher_freigeben(char** Brett) { if (Brett == NULL) { return; }
for (int i = 0; i < 8; i++) { free(Brett[i]); }
free(Brett); }
|