Exemplo n.º 1
0
    def level_editor(self, level):
        try:
            self._load_level(level)
        except IOError:
            print('New file')
        cursor = game_objects.Cursor(self.player is not None)
        cursor_surface = pygame.sprite.RenderPlain()
        cursor_surface.add(cursor)
        running = True
        while running:
            self.clock.tick(self.fps)
            for event in pygame.event.get():
                if event.type == QUIT:
                    running = False
                elif event.type == KEYDOWN:
                    if event.key == K_SPACE:
                        cursor.next()
                elif event.type == MOUSEBUTTONDOWN:
                    if cursor.current == game_objects.DELETE:
                        cursor.delete()
                    else:
                        cursor.create()

            cursor_surface.update()
            self.screen.blit(self.background, (0, 0))
            object_manager.draw(self.screen)
            cursor_surface.draw(self.screen)
            pygame.display.flip()
        self._write_level(level)
        pygame.quit()
Exemplo n.º 2
0
 def game(self, level):
     try:
         self._load_level(level)
     except IOError:
         sys.exit('No such file: %s' % level)
     running = True
     while running:
         self.clock.tick(self.fps)
         for event in pygame.event.get():
             if event.type == QUIT:
                 running = False
             elif event.type == KEYDOWN:
                 if event.key == K_ESCAPE:
                     running = False
                 elif event.key == K_UP:
                     self.player.turn_up()
                     self.player.move()
                 elif event.key == K_LEFT:
                     self.player.turn_left()
                     self.player.move()
                 elif event.key == K_DOWN:
                     self.player.turn_down()
                     self.player.move()
                 elif event.key == K_RIGHT:
                     self.player.turn_right()
                     self.player.move()
                 elif event.key == K_SPACE:
                     self.player.stop()
                     self.player.shoot()
             elif event.type == KEYUP:
                 if event.key == K_UP \
                 or event.key == K_LEFT \
                 or event.key == K_DOWN \
                 or event.key == K_RIGHT:
                     self.player.stop()
         object_manager.update()
         if not object_manager.has(self.player):
             running = False
         if not object_manager.enemies():
             running = False
         self.screen.blit(self.background, (0, 0))
         object_manager.draw(self.screen)
         pygame.display.flip()
     pygame.quit()