Advertisement
Guest User

Untitled

a guest
Dec 8th, 2016
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.65 KB | None | 0 0
  1. class Board
  2. {
  3. public:
  4. Figure* square[64];
  5. bool turn;
  6. int wkn;
  7. int wkl;
  8. int bkn;
  9. int bkl;
  10.  
  11. Board()
  12. {
  13. //arrange figure and pawns
  14. for (int i = 0; i < 8; ++i)
  15. {
  16. square[8 + i] = new Pawn(i, 1, 0);
  17. }
  18.  
  19. //Pawn* BlackPawn[8];
  20. for (int i = 0; i < 8; ++i)
  21. {
  22. square[48 + i] = new Pawn(i, 6, 1);
  23. }
  24.  
  25. //BlankSquare* BlankField[32];
  26. for (int i = 0; i < 32; ++i)
  27. {
  28. square[16 + i] = new BlankSquare(i/8 + 2, i % 8);
  29. }
  30.  
  31. square[0] = new Rook(0,0,0);
  32. square[7] = new Rook(7,0,0);
  33. square[1] = new Knight(1,0,0);
  34. square[6] = new Knight(6,0,0);
  35. square[2] = new Bishop(2, 0, 0);
  36. square[5] = new Bishop(5, 0, 0);
  37. square[3] = new Queen(3, 0, 0);
  38. square[4] = new King(4, 0, 0);
  39.  
  40. // Для чёрных право-лево определяется с точки зрения чёрных
  41. square[63] = new Rook(7, 7, 1);
  42. square[56] = new Rook(0, 7, 1);
  43. square[62] = new Knight(6, 7, 1);
  44. square[57] = new Knight(1, 7, 1);
  45. square[61] = new Bishop(5, 7, 1);
  46. square[58] = new Bishop(2, 7, 1);
  47. square[60] = new Queen(3, 7, 1);
  48. square[59] = new King(4, 7, 1);
  49.  
  50. wkn = 0;
  51. wkl = 4;
  52. bkn = 7;
  53. bkl = 4;
  54.  
  55. turn = false;
  56. }
  57.  
  58. Board (const Board &A) :turn(A.turn), wkn(A.wkn), wkl(A.wkl), bkn(A.bkn), bkl(A.bkl)
  59. {
  60. for (int i = 0; i < 64; ++i)
  61. {
  62. square[i] = &A.square[i]->Clone();
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement