Guest User

Untitled

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