#include #include #include #include "spieler.h" #include "Bauer.h" #include "Turm.h" #include "Springer.h" #include "Koenig.h" #include "Dame.h" #include "Laeufer.h" bool istzugerlaubt(char** Brett, int startX, int startY, int endX, int endY, Player player) { if ((endX >= 8 || endY >= 8) || (endX < 0 || endY < 0)){ return false; } if (player == PLAYER_WHITE && (Brett[endY][endX] == 'R' || Brett[endY][endX] == 'N' || Brett[endY][endX] == 'Q' || Brett[endY][endX] == 'B' || Brett[endY][endX] == 'K' || Brett[endY][endX] == 'P')){ return false; } if (player == PLAYER_BLACK && (Brett[endY][endX] == 'r' || Brett[endY][endX] == 'n' || Brett[endY][endX] == 'q' || Brett[endY][endX] == 'b' || Brett[endY][endX] == 'k' || Brett[endY][endX] == 'p')){ return false; } if (player == PLAYER_WHITE){ switch (Brett[startY][startX]) { case 'R': //Datei von Turm aufrufen return (istzugerlaubt_Turm(Brett, startX,startY,endX,endY,player)); break; case 'N': //Datei von Springer aufrufen break; case 'B': //Datei von Läufer aufrufen return (istzugerlaubt_Laeufer(Brett, startX,startY,endX,endY,player)); break; case 'Q': //Datei von Dame aufrufen return (istzugerlaubt_Dame(Brett, startX,startY,endX,endY,player)); break; case 'K': //Datei von König aufrufen return (istzugerlaubt_Koenig(Brett, startX,startY,endX,endY,player)); break; case 'P': //Datei von Bauer aufrufen return (istzugerlaubt_Bauer(Brett, startX,startY,endX,endY,player)); break; default: break; } } else { switch (Brett[startY][startX]) { case 'r': //Datei von Turm aufrufen return (istzugerlaubt_Turm(Brett, startX,startY,endX,endY,player)); break; case 'n': //Datei von Springer aufrufen break; case 'b': //Datei von Läufer aufrufen return (istzugerlaubt_Laeufer(Brett, startX,startY,endX,endY,player)); break; case 'q': //Datei von Dame aufrufen return (istzugerlaubt_Dame(Brett, startX,startY,endX,endY,player)); break; case 'k': //Datei von König aufrufen break; case 'p': //Datei von Bauer aufrufen return (istzugerlaubt_Bauer(Brett, startX,startY,endX,endY,player)); break; default: break; } } /* Regeln hierhin z.B. schauen ob der zug auch innerhalb vom spielbrett ist, schauen ob auf dem zielfeld keine eigene Figur steht, schauen ob von der startposition aus der zug auch für die ausgewählte figur möglich ist. return true wenn möglich oder false falls nicht. */ return true; } void machezug(char** Brett, int startX, int startY, int endX, int endY,Player player) { //wenn istzugerlaubt true ist wird das hier ausgeführt if(istzugerlaubt(Brett,startX,startY,endX,endY,player) == true){ Brett[endY][endX] = Brett[startY][startX]; Brett[startY][startX] = ' '; } }