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.

54 lines
1.7 KiB

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdbool.h>
  4. #include "spieler.h"
  5. #include "Moving.h"
  6. #include "Bauer.h"
  7. #include "Input.h"
  8. bool ist_umwandlung_gerlaubt_Bauer(char** Brett, int startX, int startY, int endX, int endY, Player player) {
  9. if((player == PLAYER_WHITE) && (endY == 7) && (Brett[startY][startX] == 'P')){
  10. return true;
  11. }else if((player == PLAYER_BLACK) && (endY == 0) && (Brett[startY][startX] == 'p')){
  12. return true;
  13. }else{
  14. return false;
  15. }
  16. }
  17. char* bauer_umwandel_abfrage(char** Brett, int startX, int startY, int endX, int endY, Player player){
  18. if(ist_umwandlung_gerlaubt_Bauer(Brett ,startX,startY,endX,endY,player) == true){
  19. char* Figur;
  20. printf("Welche Figur soll erstellt werden?");
  21. if(player == PLAYER_WHITE){
  22. printf("Q für Dame, R für Turm, B für Läufer oder N für Springer");
  23. Figur = getUserInput();
  24. }else{
  25. printf("q für Dame, r für Turm, b für Läufer oder n für Springer");
  26. Figur = getUserInput();
  27. }
  28. if((player == PLAYER_WHITE && (Figur == 'Q' || Figur == 'R' || Figur == 'B' || Figur == 'N')) ||
  29. (player == PLAYER_BLACK && (Figur == 'q' || Figur == 'r' || Figur == 'b' || Figur == 'n'))){
  30. return Figur;
  31. }else{
  32. return 'W';
  33. }
  34. }
  35. }
  36. void bauer_umwandeln(char** Brett, int startX, int startY, int endX, int endY, Player player){
  37. char* Figur = bauer_umwandel_abfrage(Brett,startX,startY,endX,endY,player);
  38. if(Figur != 'W'){
  39. Brett[endY][endX] = Figur;
  40. Brett[startY][startX] = ' ';
  41. }else{
  42. printf("Zug ungültig");
  43. }
  44. }