54 lines
1.7 KiB
54 lines
1.7 KiB
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <stdbool.h>
|
|
#include "spieler.h"
|
|
#include "Moving.h"
|
|
#include "Bauer.h"
|
|
#include "Input.h"
|
|
|
|
bool ist_umwandlung_gerlaubt_Bauer(char** Brett, int startX, int startY, int endX, int endY, Player player) {
|
|
|
|
if((player == PLAYER_WHITE) && (endY == 7) && (Brett[startY][startX] == 'P')){
|
|
return true;
|
|
}else if((player == PLAYER_BLACK) && (endY == 0) && (Brett[startY][startX] == 'p')){
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
|
|
}
|
|
|
|
char* bauer_umwandel_abfrage(char** Brett, int startX, int startY, int endX, int endY, Player player){
|
|
|
|
if(ist_umwandlung_gerlaubt_Bauer(Brett ,startX,startY,endX,endY,player) == true){
|
|
char* Figur;
|
|
printf("Welche Figur soll erstellt werden?");
|
|
if(player == PLAYER_WHITE){
|
|
printf("Q für Dame, R für Turm, B für Läufer oder N für Springer");
|
|
Figur = getUserInput();
|
|
}else{
|
|
printf("q für Dame, r für Turm, b für Läufer oder n für Springer");
|
|
Figur = getUserInput();
|
|
}
|
|
|
|
if((player == PLAYER_WHITE && (Figur == 'Q' || Figur == 'R' || Figur == 'B' || Figur == 'N')) ||
|
|
(player == PLAYER_BLACK && (Figur == 'q' || Figur == 'r' || Figur == 'b' || Figur == 'n'))){
|
|
return Figur;
|
|
}else{
|
|
return 'W';
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
void bauer_umwandeln(char** Brett, int startX, int startY, int endX, int endY, Player player){
|
|
|
|
char* Figur = bauer_umwandel_abfrage(Brett,startX,startY,endX,endY,player);
|
|
if(Figur != 'W'){
|
|
Brett[endY][endX] = Figur;
|
|
Brett[startY][startX] = ' ';
|
|
}else{
|
|
printf("Zug ungültig");
|
|
}
|
|
}
|
|
|