Guest User

Untitled

a guest
Jun 21st, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. public class Pawn : ChessFigure
  2. {
  3. public override bool[,] PossibleMove()
  4. {
  5. bool[,] r = new bool[8, 8];
  6. ChessFigure c, c2;
  7.  
  8. if (isWhite)
  9. {
  10. // Diagonal Left
  11. if(CurrentX != 0 && CurrentY != 7)
  12. {
  13. c = BoardManager.Instance.ChessFigurePositions[CurrentX -1, CurrentY +1];
  14. if(c != null && !c.isWhite) r[CurrentX - 1, CurrentY + 1] = true;
  15. }
  16.  
  17. // Diagonal Right
  18. if (CurrentX != 7 && CurrentY != 7)
  19. {
  20. c = BoardManager.Instance.ChessFigurePositions[CurrentX + 1, CurrentY + 1];
  21. if (c != null && !c.isWhite) r[CurrentX + 1, CurrentY + 1] = true;
  22. }
  23.  
  24. // Forward
  25. if(CurrentY != 7)
  26. {
  27. c = BoardManager.Instance.ChessFigurePositions[CurrentX, CurrentY + 1];
  28. if(c == null) r[CurrentX, CurrentY + 1] = true;
  29. }
  30. // Two Steps Forward
  31. if(CurrentY == 1)
  32. {
  33. c = BoardManager.Instance.ChessFigurePositions[CurrentX, CurrentY + 1];
  34. c2 = BoardManager.Instance.ChessFigurePositions[CurrentX, CurrentY + 2];
  35. if(c == null && c2 == null) r[CurrentX, CurrentY + 2] = true;
  36. }
  37. }
  38. else
  39. {
  40. // Diagonal Left
  41. if (CurrentX != 0 && CurrentY != 0)
  42. {
  43. c = BoardManager.Instance.ChessFigurePositions[CurrentX - 1, CurrentY - 1];
  44. if (c != null && c.isWhite) r[CurrentX - 1, CurrentY - 1] = true;
  45. }
  46.  
  47. // Diagonal Right
  48. if (CurrentX != 7 && CurrentY != 0)
  49. {
  50. c = BoardManager.Instance.ChessFigurePositions[CurrentX + 1, CurrentY - 1];
  51. if (c != null && c.isWhite) r[CurrentX + 1, CurrentY - 1] = true;
  52. }
  53.  
  54. // Forward
  55. if (CurrentY != 0)
  56. {
  57. c = BoardManager.Instance.ChessFigurePositions[CurrentX, CurrentY - 1];
  58. if (c == null) r[CurrentX, CurrentY - 1] = true;
  59. }
  60.  
  61. // Two Steps Forward
  62. if (CurrentY == 6)
  63. {
  64. c = BoardManager.Instance.ChessFigurePositions[CurrentX, CurrentY - 1];
  65. c2 = BoardManager.Instance.ChessFigurePositions[CurrentX, CurrentY - 2];
  66. if (c == null && c2 == null) r[CurrentX, CurrentY - 2] = true;
  67. }
  68. }
  69.  
  70. return r;
  71. }
  72. }
Add Comment
Please, Sign In to add comment