コード例 #1
0
        def add_piece_to_game():
            flag_count = 0
            piece_to_add = Piece(pieces[piece_name.get()], pieces[piece_name.get()][0])
            for flag in pieces_movement_flags[piece_name.get()]:
                if flag.get():
                    piece_to_add.add_movement(all_movements_list[flag_count])

                flag_count += 1

            piece_to_add.set_position(Position(column.get(), row.get()))
            pieces_for_game.append(piece_to_add)
            logs.insert(tk.END, "\nAdded " + piece_to_add.name + " at position " + str(Position(column.get(), row.get())) + ".")
コード例 #2
0
    def init_board(self):
        """Initializes the pieces on the board."""
        self.board = [[None for j in range(self.SIZE)]
                      for i in range(self.SIZE)]

        # CREATE CUSTOM PIECES
        piece = Piece("Pawn", "P")
        piece.add_movement(PawnMovement())

        for i in range(self.SIZE):
            self.add_piece(piece, Position(1, i), Player.WHITE)

        for i in range(self.SIZE):
            self.add_piece(piece, Position(6, i), Player.BLACK)

        piece = Piece("Horse", "H")
        piece.add_movement(HorseMovement())

        # PLACE PIECES ON BOARD
        self.add_piece(piece, Position(0, 1), Player.WHITE)
        self.add_piece(piece, Position(0, 6), Player.WHITE)

        self.add_piece(piece, Position(7, 1), Player.BLACK)
        self.add_piece(piece, Position(7, 6), Player.BLACK)

        piece = Piece("Rook", "R")
        piece.add_movement(HorizontalMovement())
        piece.add_movement(VerticalMovement())

        self.add_piece(piece, Position(0, 0), Player.WHITE)
        self.add_piece(piece, Position(0, 7), Player.WHITE)

        self.add_piece(piece, Position(7, 0), Player.BLACK)
        self.add_piece(piece, Position(7, 7), Player.BLACK)

        piece = Piece("Bishop", "B")
        piece.add_movement(DiagonalMovement())

        self.add_piece(piece, Position(0, 2), Player.WHITE)
        self.add_piece(piece, Position(0, 5), Player.WHITE)

        self.add_piece(piece, Position(7, 2), Player.BLACK)
        self.add_piece(piece, Position(7, 5), Player.BLACK)

        piece = Piece("Queen", "Q")
        piece.add_movement(HorizontalMovement())
        piece.add_movement(VerticalMovement())
        piece.add_movement(DiagonalMovement())

        self.add_piece(piece, Position(0, 4), Player.WHITE)
        self.add_piece(piece, Position(7, 4), Player.BLACK)

        piece = Piece("King", "K")
        piece.add_movement(LimitedHorizontalMovement())
        piece.add_movement(LimitedVerticalMovement())
        piece.add_movement(LimitedDiagonalMovement())

        self.add_piece(piece, Position(0, 3), Player.WHITE)
        self.add_piece(piece, Position(7, 3), Player.BLACK)