コード例 #1
0
def setup_game():
    # create board
    board = Board()
    # create teams
    white = Team('white')
    black = Team('black')
    teams = (white, black)
    # create pieces
    white_pawns = [Piece(white, 'pawn', number_to_letter(i)+str(2), 'p') for i in range(1, 9)]
    black_pawns = [Piece(black, 'pawn', number_to_letter(i)+str(7), 'P') for i in range(1, 9)]
    white_rooks = [Piece(white, 'rook', number_to_letter(i)+str(1), 'r') for i in range(1, 9, 7)]
    black_rooks = [Piece(black, 'rook', number_to_letter(i)+str(8), 'R') for i in range(1, 9, 7)]
    white_knights = [Piece(white, 'knight', number_to_letter(i)+str(1), 'n') for i in range(2, 8, 5)]
    black_knights = [Piece(black, 'knight', number_to_letter(i)+str(8), 'N') for i in range(2, 8, 5)]
    white_bishops = [Piece(white, 'bishop', number_to_letter(i)+str(1), 'b') for i in range(3, 7, 3)]
    black_bishops = [Piece(black, 'bishop', number_to_letter(i)+str(8), 'B') for i in range(3, 7, 3)]
    white_queen = [Piece(white, 'queen', 'd1', 'q')]
    black_queen = [Piece(black, 'queen', 'd8', 'Q')]
    white_king = [Piece(white, 'king', 'e1', 'k')]
    black_king = [Piece(black, 'king', 'e8', 'K')]
    white_pieces = [white_pawns, white_rooks, white_knights, white_bishops, white_queen, white_king]
    black_pieces = [black_pawns, black_rooks, black_knights, black_bishops, black_queen, black_king]
    # initialize teams
    white.initialize(white_pieces)
    black.initialize(black_pieces)
    # initialize board
    board.initialize((white_pieces, black_pieces))

    return board, teams
コード例 #2
0
    def create_preview_board(self):
        # Create a new board
        vars.screen.calc_board_spacing(self.presets[0].BOARD_SIZE)
        self.preview_board = Board(self.presets[0].BOARD_SIZE, self.presets[0].SHIPS)

        # Place ships on board
        for index, ship in enumerate(self.preview_board.ships):
            ship.set_initial_pos(index)

        # Set 50% of ships to be sunken
        for ship in random.sample(self.preview_board.ships,
                                  min(len(self.preview_board.ships), 2)):
            ship.sunk = True

            for pos in ship.get_coords(None):
                self.preview_board.set_hit(pos)

        # Populate board with shots
        for i in range(self.presets[0].BOARD_SIZE):
            pos = (random.randint(0, self.presets[0].BOARD_SIZE - 1),
                   random.randint(0, self.presets[0].BOARD_SIZE - 1))

            for ship in self.preview_board.ships:
                if pos in ship.get_coords():
                    if ship.hits.count(True) == ship.length - 1:
                        break

                    ship.hits[ship.get_coords().index(pos)] = True
                    self.preview_board.set_hit(pos)
                    break

            else:
                self.preview_board.set_miss(pos)
コード例 #3
0
ファイル: game.py プロジェクト: a-pns/snake
class Game:
    def __init__(self, player, width, height, speed):
        self.speed = speed
        self.player = player
        self.width = width
        self.height = height
        self.board = Board(width, height)
        self.snake = Snake(random.randint(0, width - 1),
                           random.randint(0, height - 1))
        self.fruit = Fruit(random.randint(0, width - 1),
                           random.randint(0, height - 1))
        self.score = 0
        self.game_is_dead = False
        # Cecil was a caterpilla, Cecil was my friend - Mum
        self.window = GraphWin("Cecil", width=300, height=300, autoflush=False)
        self.window.setBackground('white')

    def run(self):
        while not self.game_is_dead:
            self.move()
            self.update_game_state()
            self.draw()
            time.sleep(self.speed)

        self.window.close()
        print("Final Score: {0}".format(self.score))

    def move(self):
        self.player.new_move(self.snake, self.fruit, self.board)
        self.snake.move(self.fruit)

    def update_game_state(self):
        if not self.snake.is_dead(self.board):
            if self.snake.has_eaten(self.fruit):
                new_x = random.randint(0, 9)
                new_y = random.randint(0, 9)
                while (self.snake.contains_pos(new_x, new_y)):
                    new_x = random.randint(0, 9)
                    new_y = random.randint(0, 9)
                self.fruit.set_new_position(new_x, new_y)
                self.score += 1
        else:
            self.game_is_dead = True

    def draw(self):
        self.board.draw_board(self.window)
        self.fruit.draw(self.board, self.window)
        self.snake.draw(self.board, self.window)
        self.window.flush()
コード例 #4
0
ファイル: game.py プロジェクト: a-pns/snake
 def __init__(self, player, width, height, speed):
     self.speed = speed
     self.player = player
     self.width = width
     self.height = height
     self.board = Board(width, height)
     self.snake = Snake(random.randint(0, width - 1),
                        random.randint(0, height - 1))
     self.fruit = Fruit(random.randint(0, width - 1),
                        random.randint(0, height - 1))
     self.score = 0
     self.game_is_dead = False
     # Cecil was a caterpilla, Cecil was my friend - Mum
     self.window = GraphWin("Cecil", width=300, height=300, autoflush=False)
     self.window.setBackground('white')
コード例 #5
0
ファイル: model.py プロジェクト: ave-student/minigames
 def new_game(self, board_size, ship_size):
     """
     Метод инициализации новой сессии игры.
     """
     self.__board_size = board_size
     self.__max_size_ship = ship_size
     self.human_step = False
     self.game_started = False
     if self.c_board and self.h_board:
         self.c_board.clear()
         slef.h_board.clear()
     else:
         self.c_board = Board(self.__board_size)
         self.h_board = Board(self.__board_size)
     self.random_place_ships(self.c_board)
     self.random_place_ships(self.h_board)
     self.h_board.set_visible(True)
     self.game_started = True
     self.human_step = True
コード例 #6
0
ファイル: model.py プロジェクト: ave-student/minigames
class NavalModel:
    """
    Класс реализующий модель.
    """
    def __init__(self):
        self.c_board, self.h_board = None, None

    def new_game(self, board_size, ship_size):
        """
        Метод инициализации новой сессии игры.
        """
        self.__board_size = board_size
        self.__max_size_ship = ship_size
        self.human_step = False
        self.game_started = False
        if self.c_board and self.h_board:
            self.c_board.clear()
            slef.h_board.clear()
        else:
            self.c_board = Board(self.__board_size)
            self.h_board = Board(self.__board_size)
        self.random_place_ships(self.c_board)
        self.random_place_ships(self.h_board)
        self.h_board.set_visible(True)
        self.game_started = True
        self.human_step = True

    def get_ships_list(self):
        """
        Генерирует список доступных в игре кораблей.
        """
        ships_list = []
        for i in range(self.__max_size_ship):
            for j in range(i + 1):
                ships_list.append(self.__max_size_ship - i)
        return ships_list

    def random_place_ships(self, board):
        ships_list = self.get_ships_list()
        for count in ships_list:
            while True:
                try:
                    board.add_ship(random.randint(0, self.__board_size - 1),
                            random.randint(0, self.__board_size -1),
                            random.choice(['horizontal', 'vertical']),
                            count)
                except Exception:
                    continue
                break
        self.mark_ships(board)

    def c_fire(self):
        """
        Простейшая реализация компьютерной логики -
        это ее отсутствие :)
        """
        success = True
        while success:
            x = random.randint(0, self.__baord_size - 1)
            y = random.randint(0, self.__board_size - 1)
            try:
                success = fire(x, y, self.h_board)
            except Exception:
                success = True

    def fire(self, x, y, board):
        if not 0 <= x < self.__board_size or not 0 <= y < self.__board_size:
            raise Exception('Not in range.')
        cell = board.get_cell(x, y)
        if cell.is_opened():
            raise Exception('Cell is already opened!.')
        cell.open()
        ship = board.cell_in_ship(x, y)
        if ship:
            cell.set_mark('bang')
            if ship.is_sunk():
                board.mark_cells(ship.get_cells(), 'sunk')
            return True
        return False

    def mark_ships(self, board):
        for ship in board.get_ships():
            board.mark_cells(ship.get_cells(), 'ship')
コード例 #7
0
class CreateGameMenu:
    def __init__(self):
        self.presets = deque()
        with open(os.path.join(".", "presets", ".index.json")) as file:
            index = json.load(file)

        for filename in index["files"]:
            with open(os.path.join(".", "presets", filename)) as file:
                data = json.load(file)

                self.presets.append(Preset(data))

        self.quickfire = True

        self.preview_board = None
        self.preview_board_visible = False

        self.create_preview_board()

    def create_preview_board(self):
        # Create a new board
        vars.screen.calc_board_spacing(self.presets[0].BOARD_SIZE)
        self.preview_board = Board(self.presets[0].BOARD_SIZE, self.presets[0].SHIPS)

        # Place ships on board
        for index, ship in enumerate(self.preview_board.ships):
            ship.set_initial_pos(index)

        # Set 50% of ships to be sunken
        for ship in random.sample(self.preview_board.ships,
                                  min(len(self.preview_board.ships), 2)):
            ship.sunk = True

            for pos in ship.get_coords(None):
                self.preview_board.set_hit(pos)

        # Populate board with shots
        for i in range(self.presets[0].BOARD_SIZE):
            pos = (random.randint(0, self.presets[0].BOARD_SIZE - 1),
                   random.randint(0, self.presets[0].BOARD_SIZE - 1))

            for ship in self.preview_board.ships:
                if pos in ship.get_coords():
                    if ship.hits.count(True) == ship.length - 1:
                        break

                    ship.hits[ship.get_coords().index(pos)] = True
                    self.preview_board.set_hit(pos)
                    break

            else:
                self.preview_board.set_miss(pos)

    def run(self):
        # Handle events
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()

            if event.type == pygame.VIDEORESIZE:
                vars.screen.rescale_window(event.size, None)

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_F11:
                    vars.screen.toggle_fullscreen()

            if event.type == pygame.MOUSEBUTTONDOWN:
                if event.button == pygame.BUTTON_LEFT:
                    if not self.preview_board_visible:
                        # Check if hit left preset button
                        if (vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5) < event.pos[0] < (
                                vars.screen.MID[0] - vars.screen.BORDER_SIZE * 4) and (
                                vars.screen.MID[1] - vars.screen.BORDER_SIZE * 5.5) < event.pos[1] < (
                                vars.screen.MID[1] - vars.screen.BORDER_SIZE * 4.5):
                            self.presets.rotate(1)

                        # Check if hit right preset button
                        if (vars.screen.MID[0] + vars.screen.BORDER_SIZE * 4) < event.pos[0] < (
                                vars.screen.MID[0] + vars.screen.BORDER_SIZE * 5) and (
                                vars.screen.MID[1] - vars.screen.BORDER_SIZE * 5.5) < event.pos[1] < (
                                vars.screen.MID[1] - vars.screen.BORDER_SIZE * 4.5):
                            self.presets.rotate(-1)

                        # Check if hit preview_board button
                        if (vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5) < event.pos[0] < (
                                vars.screen.MID[0] + vars.screen.BORDER_SIZE * 5) and (
                                vars.screen.MID[1] - vars.screen.BORDER_SIZE * 1.5) < event.pos[1] < (
                                vars.screen.MID[1] - vars.screen.BORDER_SIZE * 0.5):
                            self.create_preview_board()
                            self.preview_board_visible = True

                        # Check if hit quickfire on button
                        if (vars.screen.MID[0] + vars.screen.BORDER_SIZE * 1.5) < event.pos[0] < (
                                vars.screen.MID[0] + vars.screen.BORDER_SIZE * 3) and (
                                vars.screen.MID[1]) < event.pos[1] < (
                                vars.screen.MID[1] + vars.screen.BORDER_SIZE):
                            self.quickfire = True

                        # Check if hit quickfire off button
                        if (vars.screen.MID[0] + vars.screen.BORDER_SIZE * 3.5) < event.pos[0] < (
                                vars.screen.MID[0] + vars.screen.BORDER_SIZE * 5) and (
                                vars.screen.MID[1]) < event.pos[1] < (
                                vars.screen.MID[1] + vars.screen.BORDER_SIZE):
                            self.quickfire = False

                        # Check if hit host button
                        if (vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5) < event.pos[0] < (
                                vars.screen.MID[0] + vars.screen.BORDER_SIZE * 5) and (
                                vars.screen.MID[1] + vars.screen.BORDER_SIZE * 3) < event.pos[1] < (
                                vars.screen.MID[1] + vars.screen.BORDER_SIZE * 4):
                            vars.host_thread = ThreadedTask(vars.network.host_game,
                                                            self.presets[0].BOARD_SIZE,
                                                            self.presets[0].SHIPS,
                                                            self.quickfire)
                            vars.host_thread.start()

                        # Check if hit cancel button
                        if (vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5) < event.pos[0] < (
                                vars.screen.MID[0] + vars.screen.BORDER_SIZE * 5) and (
                                vars.screen.MID[1] + vars.screen.BORDER_SIZE * 4.5) < event.pos[1] < (
                                vars.screen.MID[1] + vars.screen.BORDER_SIZE * 5.5):
                            vars.game.set_screen("main_menu")
                    else:
                        # Check if hit outside preview_board button
                        if (event.pos[0] < vars.screen.MID[0] - vars.screen.BOARD_SIZE * 0.5) or (
                                event.pos[0] > vars.screen.MID[0] + vars.screen.BOARD_SIZE * 0.5) or (
                                event.pos[1] < vars.screen.MID[1] - vars.screen.BOARD_SIZE * 0.5) or (
                                event.pos[1] > vars.screen.MID[1] + vars.screen.BOARD_SIZE * 0.5):
                            self.preview_board_visible = False

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    if self.preview_board_visible:
                        self.preview_board_visible = False
                    else:
                        vars.state = None
                        vars.substate = None
                        vars.game.set_screen("main_menu")

        # Fill background
        vars.screen.screen.fill(vars.screen.theme.BACKGROUND_COLOR)

        # Draw title
        text = vars.screen.render_text(100, "CREATE GAME", vars.screen.theme.TEXT_COLOR)
        text_rect = text.get_rect()
        text_rect.midtop = (vars.screen.MID[0],
                            vars.screen.BORDER_SIZE)
        vars.screen.screen.blit(text, text_rect)

        # Draw preset selector
        button_left_rect = (
            vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5,
            vars.screen.MID[1] - vars.screen.BORDER_SIZE * 5.5,
            vars.screen.BORDER_SIZE,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BUTTON_COLOR, button_left_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, button_left_rect,
                         vars.screen.MARGIN_SIZE)

        preset_rect = (
            vars.screen.MID[0] - vars.screen.BORDER_SIZE * 3.5,
            vars.screen.MID[1] - vars.screen.BORDER_SIZE * 5.5,
            vars.screen.BORDER_SIZE * 7,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_COLOR, preset_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, preset_rect,
                         vars.screen.MARGIN_SIZE)

        button_right_rect = (
            vars.screen.MID[0] + vars.screen.BORDER_SIZE * 4,
            vars.screen.MID[1] - vars.screen.BORDER_SIZE * 5.5,
            vars.screen.BORDER_SIZE,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BUTTON_COLOR, button_right_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, button_right_rect,
                         vars.screen.MARGIN_SIZE)

        button_left_text = vars.screen.render_text(30, "<", vars.screen.theme.TEXT_COLOR)
        button_left_rect = button_left_text.get_rect()
        button_left_rect.center = (vars.screen.MID[0] - vars.screen.BORDER_SIZE * 4.5,
                                   vars.screen.MID[1] - vars.screen.BORDER_SIZE * 5)
        vars.screen.screen.blit(button_left_text, button_left_rect)

        preset_text = vars.screen.render_text(30, self.presets[0].NAME, vars.screen.theme.TEXT_COLOR)
        preset_rect = preset_text.get_rect()
        preset_rect.center = (vars.screen.MID[0],
                              vars.screen.MID[1] - vars.screen.BORDER_SIZE * 5)
        vars.screen.screen.blit(preset_text, preset_rect)

        button_right_text = vars.screen.render_text(30, ">", vars.screen.theme.TEXT_COLOR)
        button_right_rect = button_right_text.get_rect()
        button_right_rect.center = (vars.screen.MID[0] + vars.screen.BORDER_SIZE * 4.5,
                                    vars.screen.MID[1] - vars.screen.BORDER_SIZE * 5)
        vars.screen.screen.blit(button_right_text, button_right_rect)

        # Preset info box
        info_rect = (
            vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5,
            vars.screen.MID[1] - vars.screen.BORDER_SIZE * 4,
            vars.screen.BORDER_SIZE * 10,
            vars.screen.BORDER_SIZE * 2
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_COLOR, info_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, info_rect,
                         vars.screen.MARGIN_SIZE)

        info_text = vars.screen.render_text(20, "BOARD SIZE: %s" % self.presets[0].BOARD_SIZE,
                                            vars.screen.theme.TEXT_COLOR)
        info_rect = info_text.get_rect()
        info_rect.midleft = (vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5 + vars.screen.MARGIN_SIZE * 6,
                             vars.screen.MID[1] - vars.screen.BORDER_SIZE * 3.5)
        vars.screen.screen.blit(info_text, info_rect)

        info_text = vars.screen.render_text(20, self.presets[0].DESCRIPTION, vars.screen.theme.TEXT_COLOR)
        info_rect = info_text.get_rect()
        info_rect.midleft = (vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5 + vars.screen.MARGIN_SIZE * 6,
                             vars.screen.MID[1] - vars.screen.BORDER_SIZE * 2.5)
        vars.screen.screen.blit(info_text, info_rect)

        # Preview board button
        preview_board_rect = (
            vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5,
            vars.screen.MID[1] - vars.screen.BORDER_SIZE * 1.5,
            vars.screen.BORDER_SIZE * 10,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BUTTON_COLOR, preview_board_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, preview_board_rect,
                         vars.screen.MARGIN_SIZE)

        text = vars.screen.render_text(30, "PREVIEW BOARD", vars.screen.theme.TEXT_COLOR)
        text_rect = text.get_rect()
        text_rect.center = (vars.screen.MID[0],
                            vars.screen.MID[1] - vars.screen.BORDER_SIZE)
        vars.screen.screen.blit(text, text_rect)

        # Quickfire selector
        quickfire_rect = (
            vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5,
            vars.screen.MID[1],
            vars.screen.BORDER_SIZE * 6,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_COLOR, quickfire_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, quickfire_rect,
                         vars.screen.MARGIN_SIZE)

        if self.quickfire:
            text = "QUICKFIRE: ON"
        else:
            text = "QUICKFIRE: OFF"

        text = vars.screen.render_text(30, text, vars.screen.theme.TEXT_COLOR)
        text_rect = text.get_rect()
        text_rect.midleft = (vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5 + vars.screen.MARGIN_SIZE * 3,
                             vars.screen.MID[1] + vars.screen.BORDER_SIZE * 0.5)
        vars.screen.screen.blit(text, text_rect)

        on_rect = (
            vars.screen.MID[0] + vars.screen.BORDER_SIZE * 1.5,
            vars.screen.MID[1],
            vars.screen.BORDER_SIZE * 1.5,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BUTTON_COLOR, on_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, on_rect,
                         vars.screen.MARGIN_SIZE)

        text = vars.screen.render_text(30, "ON", vars.screen.theme.TEXT_COLOR)
        text_rect = text.get_rect()
        text_rect.center = (vars.screen.MID[0] + vars.screen.BORDER_SIZE * 2.25,
                            vars.screen.MID[1] + vars.screen.BORDER_SIZE * 0.5)
        vars.screen.screen.blit(text, text_rect)

        off_rect = (
            vars.screen.MID[0] + vars.screen.BORDER_SIZE * 3.5,
            vars.screen.MID[1],
            vars.screen.BORDER_SIZE * 1.5,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BUTTON_COLOR, off_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, off_rect,
                         vars.screen.MARGIN_SIZE)

        text = vars.screen.render_text(30, "OFF", vars.screen.theme.TEXT_COLOR)
        text_rect = text.get_rect()
        text_rect.center = (vars.screen.MID[0] + vars.screen.BORDER_SIZE * 4.25,
                            vars.screen.MID[1] + vars.screen.BORDER_SIZE * 0.5)
        vars.screen.screen.blit(text, text_rect)

        # Host game button
        host_rect = (
            vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5,
            vars.screen.MID[1] + vars.screen.BORDER_SIZE * 3,
            vars.screen.BORDER_SIZE * 10,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BUTTON_COLOR, host_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, host_rect,
                         vars.screen.MARGIN_SIZE)

        text = vars.screen.render_text(30, "HOST", vars.screen.theme.TEXT_COLOR)
        text_rect = text.get_rect()
        text_rect.center = (vars.screen.MID[0],
                            vars.screen.MID[1] + vars.screen.BORDER_SIZE * 3.5)
        vars.screen.screen.blit(text, text_rect)

        # Cancel button
        host_rect = (
            vars.screen.MID[0] - vars.screen.BORDER_SIZE * 5,
            vars.screen.MID[1] + vars.screen.BORDER_SIZE * 4.5,
            vars.screen.BORDER_SIZE * 10,
            vars.screen.BORDER_SIZE
        )

        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BUTTON_COLOR, host_rect)
        pygame.draw.rect(vars.screen.screen, vars.screen.theme.BOX_OUTLINE_COLOR, host_rect,
                         vars.screen.MARGIN_SIZE)

        text = vars.screen.render_text(30, "CANCEL", vars.screen.theme.TEXT_COLOR)
        text_rect = text.get_rect()
        text_rect.center = (vars.screen.MID[0],
                            vars.screen.MID[1] + vars.screen.BORDER_SIZE * 5)
        vars.screen.screen.blit(text, text_rect)

        # Preview board overlay
        if self.preview_board_visible:
            background_rect = pygame.Surface(vars.screen.SIZE)
            background_rect.set_alpha(192)
            background_rect.fill((0, 0, 0))
            vars.screen.screen.blit(background_rect, (0, 0))

            self.preview_board.draw((vars.screen.MID[0] - vars.screen.BOARD_SIZE * 0.5,
                                     vars.screen.MID[1] - vars.screen.BOARD_SIZE * 0.5))

        # Update display
        vars.screen.draw()
コード例 #8
0
ファイル: main.py プロジェクト: slzhffktm/nything-problem
from objects.board import Board
from algorithms.genetic import genetic

b = Board()
b.readExternalFile()
b.show()

genetic(b)