示例#1
0
def play(algorithm):
    fps= 7
    time = pygame.time.Clock()
    loop = True

    game_time = 0
    time_count = 1/ fps

    begin_node = grid_list[0][0]
    player = Player(begin_node, (200, 0, 0))

    objective = grid_list[-1][-1]

    menu_button_rect = pygame.Rect(10, 440, 100, 30)
    menu_button = Button(menu_button_rect, text= '< MENU')
    while loop:
        window.fill((0, 0, 0))

        mx, my = pygame.mouse.get_pos()

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                sys.exit()
            player.set_dir(event)
            if menu_button.click(event, mx, my):
                loop = False

        if player.actual == objective:
            draw_text('YOU WIN!', window, 30, (200, 200, 200), (window.get_rect().center[0], 440))
        else:
            game_time += time_count

        algorithm.draw_grid(window, grid_list)
        menu_button.draw(window)
        draw_text('Time: ' + str(round(game_time, 2)), window, 25, (200, 200, 200), (570, 440))

        player.move(grid_list)
        player.draw(window)

        pygame.draw.rect(window, (0, 0, 0), objective.rect, border_radius= 20)
        pygame.display.update()
        time.tick(fps)
示例#2
0
class Game:
    def __init__(self):
        pygame.init()
        self.window = Window()
        self.player = Player(3, 3, consts.S_PLAYER_FRONT, self)

    def main_loop(self):
        running = True
        while running:
            self.window.draw_game()
            self.player.draw_self()
            for event in pygame.event.get():
                if event.type == pygame.QUIT:
                    running = False
                if event.type == pygame.KEYDOWN:
                    if event.key == pygame.K_w:
                        self.player.move(0, -1)
                    if event.key == pygame.K_s:
                        self.player.move(0, 1)
                    if event.key == pygame.K_a:
                        self.player.move(-1, 0)
                    if event.key == pygame.K_d:
                        self.player.move(1, 0)
            pygame.display.flip()