示例#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())) + ".")
    def add_piece(self, piece: Piece, position: Position, player: Player):
        """Adds a piece on the board."""

        if piece.name == "King":
            if self.king_mask & 1 << player.value:
                return False
            else:
                self.king_mask |= 1 << player.value

        Guard.check_position(position, self.SIZE)

        piece.set_position(position)
        piece.set_player(player)
        self.board[piece.position.x][piece.position.y] = copy(piece)