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()
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()