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.

95 lines
2.6 KiB

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include "spieler.h"
#include "Bauer.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
break;
case 'N':
//Datei von Springer aufrufen
break;
case 'B':
//Datei von Läufer aufrufen
break;
case 'Q':
//Datei von Dame aufrufen
break;
case 'K':
//Datei von König aufrufen
break;
case 'P':
/* if(istzugerlaubt_Bauer(Brett,startX,startY,endX,endY,player) == true){
return true;
}else{
return false;
}*/
break;
default:
break;
}
}
else {
switch (Brett[startY][startX]) {
case 'r':
//Datei von Turm aufrufen
break;
case 'n':
//Datei von Springer aufrufen
break;
case 'b':
//Datei von Läufer aufrufen
break;
case 'q':
//Datei von Dame aufrufen
break;
case 'k':
//Datei von König aufrufen
break;
case 'p':
//Datei von Bauer aufrufen
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] = ' ';
}
}