Exemple #1
0
    def run(self):
        play_menu = Menu(self.game_screen)
        high_score_menu = HighScoreScreen(self.game_screen, self.hold_score)
        intro_ghost_chase = Intro(self.game_screen)
        event_iterator = EventLoop(loop_running=True, actions={pygame.MOUSEBUTTONDOWN: play_menu.check_buttons})

        while event_iterator.loop_running:
            self.tick_component.tick(60)
            event_iterator.check_events()
            self.game_screen.fill(PlayGame.game_color)
            if not play_menu.high_score_menu:
                intro_ghost_chase.update()
                intro_ghost_chase.blit()
                play_menu.blit()
            else:
                high_score_menu.blit()
                high_score_menu.check_done()
            if play_menu.ready_to_play:
                pygame.mixer.music.stop()
                self.play_game()
                for g in self.pacman_ghosts:
                    g.reset_speed()
                play_menu.ready_to_play = False
                self.hold_score.save_high_scores()
                high_score_menu.prep_images()
                high_score_menu.position()
            elif not pygame.mixer.music.get_busy():
                pygame.mixer.music.play(-1)
            pygame.display.flip()
Exemple #2
0
    def play(self):
        while True:
            mloop = MenuLoop(self.screen,
                             self.stats,
                             finished=False,
                             highscore_screen=False)
            while not mloop.finished:
                mloop.check_events()
                mloop.update()
                self.update_menu_screen(mloop)
                if mloop.highscore_screen == True:
                    while mloop.highscore_screen:
                        mloop.check_highscore_events()
                        mloop.update_highscore_screen()
                        self.update_highscore_screen(mloop)

            self.maze = Maze(self.screen, self.mazefile, 'square', 'shield',
                             'left_bigman_1', 'powerpill', 'tablet',
                             'up_clyde_1', 'up_pinky_1', 'up_inky_1',
                             'up_blinky_1', self.stats)
            eloop = EventLoop(self.maze, self.screen, finished=False)

            while not eloop.finished:
                eloop.check_events()
                eloop.update(self.settings, self.screen, self.stats)
                self.update_screen()
Exemple #3
0
    def play(self):
        eventloop = EventLoop(finished=False)

        while not eventloop.finished:
            self.clock.tick(30)
            eventloop.check_events(self.player)
            self.player.update()
            self.update_screen()
Exemple #4
0
 def play(self):
     eloop = EventLoop(finished=False)
     while not eloop.finished:
         while not self.stats.game_active:
             self.play_button.draw_button()
             eloop.check_events(self.pacman, self.play_button, self.stats)
         eloop.check_events(self.pacman, self.play_button, self.stats)
         self.pacman.update(self.maze, self.pac_group)
         self.update_screen()
Exemple #5
0
    def play(self):
        eloop = EventLoop(finished=False)

        while not eloop.finished:
            eloop.check_events(self.pacman, self.start_rect)
            self.update_screen()
            self.pacman.update()
            for ghost in self.ghost:
                ghost.update()
Exemple #6
0
    def play(self):
        eloop = EventLoop(self.ai_settings.finished, self.ai_settings.display_lives)
        self.load_data()

        while not eloop.finished:
            eloop.check_events(self.ai_settings, self.menu, self.mario)
            self.mario.update(self.map.rock, self.map.metal, self.map.stone, self.map.brick, self.map.q, self.map.pipe,
                              self.map.pipe_1, self.map.coins)
            self.update_screen()
            self.sb.check_high_score(self.sb)
Exemple #7
0
    def play(self):
        eloop = EventLoop(self.ai_settings.finished)

        while not eloop.finished:
            eloop.check_events(self.ai_settings, self.menu, self.pacman)
            self.pacman.check_dot_collision(self.ai_settings, self.maze.dots,
                                            self.maze.pills, self.sb)
            self.sb.check_high_score(self.sb)
            self.update_screen()
            self.pacman.check_wall_collision(self.maze.bricks)
            self.pacman.update()
            self.ghost.update_ghost(self.pacman, self.maze.nodes)
Exemple #8
0
    def play(self):
       # sleep(4)
        #pygame.mixer.Sound.play(self.intro)
        sleep(1)
        eventloop = EventLoop(finished=False)

        pygame.mixer.Sound.play(self.intro)

        while not eventloop.finished:
            #self.clock.tick(60)
            eventloop.check_events(self.screen, self.player, self.sb, self.play_button, self.stats, self.set)
            self.player.update()

            self.update_screen()
Exemple #9
0
    def play(self):
        # self.displayname = Button(self.screen, "Portal Pacman")
        self.displayname.rect.centery -= 300
        self.displayname.msg_image_rect.center = self.displayname.rect.center
        # self.highscore_button = Button(self.screen, "Portal Pacman")
        self.highscore_button.rect.centery += 330
        self.highscore_button.msg_image_rect.center = self.highscore_button.rect.center
        # self.play_button = Button(self.screen, "Portal Pacman")
        self.play_button.rect.centery += 280
        self.play_button.msg_image_rect.center = self.play_button.rect.center

        hs_file = open("score.txt", "r")
        self.ai_settings.hs = int(hs_file.read())
        hs_file.close()
        msgg = 'The high score is ' + str(self.ai_settings.hs)
        self.score = Button(self.screen, msgg)
        self.score.rect.centery -= 150
        self.score.msg_image_rect.center = self.score.rect.center
        self.ghosts.intro()
        self.pacman.intro()
        self.blues = pygame.mixer.Sound('sounds/blueghosts.wav')

        eloop = EventLoop(finished=False)
        while not eloop.finished:
            eloop.check_events(self.ai_settings, self.pacman, self.maze,
                               self.play_button, self.highscore_button,
                               self.back, self.ghosts, self.blues, self.sb)
            if self.ai_settings.score > self.ai_settings.hs and self.ai_settings.game_active:
                self.ai_settings.hs = self.ai_settings.score
                msgg = 'The high score is ' + str(self.ai_settings.hs)
                score = Button(self.screen, msgg)
                score.rect.centery += 150
                score.msg_image_rect.center = score.rect.center
            if len(self.maze.dots) == 1:
                self.maze = Maze(self.screen,
                                 mazefile='map.txt',
                                 brickfile='square',
                                 portalfile='square',
                                 shieldfile='shield',
                                 pointfile='point',
                                 dotfile='dot',
                                 powerpillfile='powerpill')
                self.pacman.reset()
                self.ghosts.reset()
                self.ai_settings.level += 1
            if not self.ai_settings.game_active:
                pygame.mouse.set_visible(True)
            self.update_screen()
Exemple #10
0
    def play(self):
        eloop = EventLoop(self.settings, self.pacman, finished=False)

        while not self.stats.game_active:
            if self.settings.high_score_screen:
                self.menu.high_scores()
            else:
                self.menu.start_menu(self.play_button, self.high_scores_button)
            self.check_events()
            pygame.display.update()

        while not eloop.finished:
            self.check_events()
            eloop.check_events()
            self.check_collision()
            self.update_screen()
Exemple #11
0
    def showLAST(self, inputs):
        clock = pygame.time.Clock()
        eloop = EventLoop(finished=False)

        eloop.movePLAYER(self.player, inputs)
        self.player.setFITNESS()
        self.fitness = self.player.fitness
        print(self.fitness)

        while not eloop.finished:
            eloop.check_events(self.settings, self.player, self.maze, inputs)

            self.player.update(self.maze)

            self.display_game()
            clock.tick(20)
Exemple #12
0
    def play(self):
        eloop = EventLoop(finished=False)

        while not eloop.finished:
            eloop.check_events(self.screen, self.player, self.maze, self.stats,
                               self.button)
            if self.stats.game_active:
                eloop.check_wall_collision(self.player, self.maze)
                eloop.check_pill_collision(self.player, self.maze, self.stats)
                eloop.check_killpill_collision(self.player, self.maze,
                                               self.stats)
                self.player.update()
            self.update_screen()
        self.check_high_score()
        self.score_board = Scoreboard(self.screen, self.stats)
        self.score_board.prep_high_score()
Exemple #13
0
    def play(self):
        # Starts the game
        eloop = EventLoop(self.screen,
                          self.settings,
                          self.play_button,
                          self.score_button,
                          self.maze,
                          self.stats,
                          self.sb,
                          self.pacman,
                          self.pac,
                          self.ghosts,
                          self.points,
                          self.pills,
                          self.fruits,
                          self.portal,
                          finished=False)
        # loops while not finished
        while not eloop.finished:
            # Check events
            eloop.check_events()
            if self.stats.game_active:
                # spawns fruits at random times
                if self.delay == self.timer:
                    self.maze.create_fruit(self.stats.fruit_count)
                    if self.stats.fruit_count >= 3:
                        self.stats.fruit_count = 0
                    else:
                        self.stats.fruit_count += 1
                    self.delay = 0
                    self.timer = random.randint(3000, 5001)
                else:
                    self.delay += 1
                # deletes fruit after a period of time
                if self.count == self.timer2:
                    self.fruits.empty()
                    self.count = 0
                else:
                    self.count += 1

                # updates sprites
                self.pac.update()
                self.ghosts.update()
                self.portal.update()
                # Checks for collision
                eloop.check_collisions()
            self.update_screen()
Exemple #14
0
    def play(self):
        eloop = EventLoop(self.ai_settings.finished,
                          self.ai_settings.display_lives)
        self.load_data()

        while not eloop.finished:
            eloop.check_events(self.ai_settings, self.menu, self.mario)
            self.mario.update(self.map.rock, self.map.metal, self.map.stone,
                              self.map.brick, self.map.q, self.map.pipe,
                              self.map.pipe_1, self.map.coins)
            self.enemies.update()
            self.powerups.update()
            self.update_screen()
            self.sb.check_high_score(self.sb)

            if self.enemies.g_rect.left == self.ai_settings.screen_width:
                Mobs(self.ai_settings, self.screen, self.map, self)
Exemple #15
0
    def play(self):
        clock = pygame.time.Clock()
        eloop = EventLoop(finished=False)

        while not eloop.finished:
            eloop.check_events(self.settings, self.stats, self.player, self.pb, self.maze)
            self.menu.prep_screen()

            if self.stats.game_active:
                self.player.update(self.maze)
                self.red.update(self.maze)
                self.blue.update(self.maze)
                self.orange.update(self.maze)
                self.pink.update(self.maze)

            self.display_game()
            clock.tick(20)
Exemple #16
0
    def play_game(self):
        event_iterator = EventLoop(loop_running=True, actions={**self.pacman_player.event_map, **self.game_actions})
        self.next_level.set_show_transition()
        self.lost_game = False
        if self.pacman_player.dead:
            self.pacman_player.revive()
            self.hold_score.reset_level()
            self.lives_left.reset_counter()
            self.rebuild_maze()

        while event_iterator.loop_running:
            self.tick_component.tick(60)
            event_iterator.check_events()
            self.update_screen()
            if self.lost_game:
                pygame.mixer.stop()
                self.hold_score.reset_level()
                event_iterator.loop_running = False
Exemple #17
0
    def play(self):
        eloop = EventLoop(self.ai_settings.finished)
        self.load_data()

        while not eloop.finished:
            eloop.check_events(self.ai_settings, self.menu, self.pacman)
            self.pacman.check_dot_collision(self.ai_settings, self.maze.dots,
                                            self.maze.pills, self.sb)
            self.sb.check_high_score(self.sb)
            self.update_screen()
            self.pacman.check_wall_collision(self.maze.bricks)
            self.pinky.check_wall_collision(self.maze.bricks)
            self.inky.check_wall_collision(self.maze.bricks)
            self.blinky.check_wall_collision(self.maze.bricks)
            self.clyde.check_wall_collision(self.maze.bricks)
            self.pacman.update()
            self.ghosts.update()
            eloop.update_collisions(self.ai_settings, self.pacman, self.ghosts,
                                    self.maze)
Exemple #18
0
    def play(self):
        loop = EventLoop(self.p_man, self.maze, self.ghosts, self.stats,
                         self.pb)

        while not loop.finished:
            loop.check_events()
            if self.stats.game_active:
                self.pinky.start(loop.start_time)
                self.inky.start(loop.start_time)
                self.blinky.start(loop.start_time)
                self.clyde.start(loop.start_time)
                loop.check_collisions()
            self.update_screen()
            self.clock.tick(60)
            self.lost = self.p_man.finished
            self.won = loop.won
            if self.won:
                self.stats.game_active = False
            elif self.lost:
                self.stats.game_active = False
Exemple #19
0
class Game:
    BLACK = (0, 0, 0)

    def __init__(self):
        pygame.init()
        self.screen = pygame.display.set_mode((680, 740))
        pygame.display.set_caption("Pacman Portal")

        self.maze = Maze(self.screen,
                         mazefile='maze.txt',
                         brickfile='square',
                         portalfile='close_portal',
                         shieldfile='shield',
                         powerfile='powerpil',
                         pointsfile='points',
                         foodfile='cherry')
        self.menu = Startup(self.screen, 'title.png', 'playbutton.png')
        self.pacman = Pacman(self.screen)
        self.ghosts = Ghosts(self.screen)

        self.eloop = EventLoop(finished=False)

    def __str__(self):
        return 'Game(Pacman Portal),maze='

    def play(self):
        while not self.eloop.finished:
            self.eloop.check_events(self.pacman)
            self.pacman.update()
            # if self.game_active:
            self.update_screen()

    def update_screen(self):
        self.screen.fill(Game.BLACK)
        self.maze.blitme()
        self.pacman.blit_pac()
        self.ghosts.blit_ghost()

        # if not self.eloop.game_active:
        # self.menu.draw_menu()
        pygame.display.flip()
Exemple #20
0
    def play(self):
        clock = pygame.time.Clock()
        eloop = EventLoop(finished=False)
        while not eloop.finished:
            eloop.check_events(self.screen, self.pacman, self.startup)
            if self.startup.playing:
                pygame.mixer.music.stop()
                if not self.settings.flag_chomp:
                    self.settings.chomp_music()
                    self.settings.flag_chomp = True
                self.settings.chomp_music()
                self.pacman.update(self.maze, self.settings, self.stats, self.sb, self.red, self.blue, self.orange,
                                   self.pink)
                self.red.update(self.maze, self.settings, self.stats, self.pacman, self.startup, self.blue, self.pink,
                                self.orange, self.sb)
                self.blue.update(self.maze, self.settings, self.stats, self.pacman, self.startup, self.red, self.pink,
                                 self.orange, self.sb)
                self.orange.update(self.maze, self.settings, self.stats, self.pacman, self.startup, self.blue,
                                   self.pink, self.red, self.sb)
                self.pink.update(self.maze, self.settings, self.stats, self.pacman, self.startup, self.blue, self.red,
                                 self.orange, self.sb)

            self.update_screen()
            clock.tick(155)
Exemple #21
0
 def play(self):
     eloop = EventLoop(finished=True, settings=self.settings)
     self.reset_game()
     while True:
         while eloop.finished:
             eloop.check_play_button(self.stats, self.sb, self.play_button)
             if not self.stats.game_active:
                 self.play_button.draw_button()
             pygame.display.flip()
         while self.settings.begin.get_busy():
             eloop.check_events(self.stats, self.player)
             self.settings.begin.get_busy()
         while not eloop.finished:
             eloop.check_events(self.stats, self.player)
             self.update_screen()
             self.player_ghost_update()
             if self.stats.lives_left == 0:
                 self.reset_game()
                 while self.game_over_screen.counter != 2:
                     eloop.check_events(self.stats, self.player)
                     self.game_over_screen.blit_me()
                     pygame.display.flip()
                 eloop.finished = True
Exemple #22
0
 def play(self):
     eloop = EventLoop(finished=False)
     while not eloop.finished:
         eloop.check_events()
         self.update_screen()
Exemple #23
0
 def play(self):
     eloop = EventLoop(finished=False)
     while not eloop.finished:
         eloop.check_events(self.pacman, self.menu, self.portal_enter, self.portal_exit, self.settings)
         self.update_screen()