def play_game(screen): # dungeon dungeon = generate_dungeon(tiles) # Camera camera = Camera(screen) # hud hud = Hud() # console console = Console() logger = logging.getLogger('console') logger.setLevel(logging.DEBUG) logger.addHandler(ConsoleLogHandler(console)) logger.info('Welcome to Dungeons of my Benga') # create characters hero = Hero() wolf = monsters.Wolf() dog = monsters.Dog() cat = monsters.Cat() constrictor_snake = monsters.ConstrictorSnake() camera.follow(hero) # place hero and monsters place_hero(dungeon, hero) place_monster(dungeon, wolf) place_monster(dungeon, dog) place_monster(dungeon, cat) place_monster(dungeon, constrictor_snake) # create items for i in xrange(10): place_item(dungeon, Potion()) place_item(dungeon, Longsword()) # set character AI dog.set_ai(ChaseAI(hero)) cat.set_ai(RandomAI()) wolf.set_ai(ChaseAI(hero)) # add some itens to see inventory hero.inventory.add_item(Potion()) # create view inventory_view = InventoryView(hero.inventory) # create input handler input_handler = InputHandler(hero, inventory_view, camera) dungeon_view = DungeonView(dungeon) def draw(): screen.fill((0, 0, 0)) dungeon_view.draw(screen, camera) console.draw(screen) inventory_view.draw(screen) hud.draw(hero, screen) pygame.display.flip() try: while True: run_turn = input_handler.handle_input() if run_turn: dungeon.run_turn() draw() except HeroIsDead: draw() show_death_screen(screen) except WolfIsDead: draw() show_win_screen(screen)