Example #1
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()
Example #2
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