| 10 | |
| 11 | # checker board creation |
| 12 | class checker_board: |
| 13 | def __init__(self): |
| 14 | self.board = [] |
| 15 | self.selected = None |
| 16 | self.black_l = self.white_l = 12 |
| 17 | self.black_k = self.white_k = 0 |
| 18 | self.create_board() |
| 19 | |
| 20 | # to design the board |
| 21 | def draw_cubes(self, window): |
| 22 | window.fill(green) |
| 23 | for row in range(rows): |
| 24 | for col in range(row % 2, cols, 2): |
| 25 | pg.draw.rect( |
| 26 | window, yellow, (row * sq_size, col * sq_size, sq_size, sq_size) |
| 27 | ) |
| 28 | |
| 29 | def move(self, piece, row, col): |
| 30 | self.board[piece.row][piece.col], self.board[row][col] = ( |
| 31 | self.board[row][col], |
| 32 | self.board[piece.row][piece.col], |
| 33 | ) |
| 34 | piece.move(row, col) |
| 35 | if row == rows - 1 or row == 0: |
| 36 | piece.make_king() |
| 37 | if piece.color == white: |
| 38 | self.white_k += 1 |
| 39 | else: |
| 40 | self.black_k += 1 |
| 41 | |
| 42 | # to get piece whatever they want |
| 43 | def get_piece(self, row, col): |
| 44 | return self.board[row][col] |
| 45 | |
| 46 | def create_board(self): |
| 47 | for row in range(rows): |
| 48 | self.board.append([]) |
| 49 | for col in range(cols): |
| 50 | if col % 2 == ((row + 1) % 2): |
| 51 | if row < 3: |
| 52 | self.board[row].append(pieces(row, col, white)) |
| 53 | elif row > 4: |
| 54 | self.board[row].append(pieces(row, col, black)) |
| 55 | else: |
| 56 | self.board[row].append(0) |
| 57 | else: |
| 58 | self.board[row].append(0) |
| 59 | |
| 60 | def draw(self, window): |
| 61 | self.draw_cubes(window) |
| 62 | for row in range(rows): |
| 63 | for col in range(cols): |
| 64 | piece = self.board[row][col] |
| 65 | if piece != 0: |
| 66 | piece.draw(window) |
| 67 | |
| 68 | def get_valid_moves(self, piece): |
| 69 | moves = {} |