Guest User

Untitled

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