def main(): parser = argparse.ArgumentParser(description="P0 Adventure") parser.add_argument( "--savefile", dest="savefile", default="game.json", help="The save file. default: 'game.json'", ) parser.add_argument( "--new-game", dest="new_game", default=False, action="store_true", help="Create a new save file.", ) parser.add_argument( "-b", dest="bonus_tasks", default=False, action="store_true", help="enable bonus tasks", ) parser.add_argument( "--print-bonus", dest="print_bonus", default=False, action="store_true", help="print bonus task list and exit", ) args = parser.parse_args() if args.print_bonus: print_bonus_tasks() return # your code starts here save = args.savefile if args.new_game: user = Player() user.createNewCharacter() gamedata = GameData(player=user, savefile=save, bonus_tasks=args.bonus_tasks) if args.bonus_tasks: totengraeber = Gravedigger() gamedata.gravedigger = totengraeber truhe = Chest() gamedata.chest = truhe else: gamedata = load_gamedata(save) user = gamedata.player if args.bonus_tasks: totengraeber = gamedata.gravedigger truhe = gamedata.chest schmied = Shopkeeper(name="blacksmith", inventory=blacksmith_items) druide = Shopkeeper(name="druid", inventory=druid_items) prog0 = Village( player=user, bonus_tasks=args.bonus_tasks, blacksmith=schmied, druid=druide ) if args.bonus_tasks: prog0.gravedigger = totengraeber prog0.chest = truhe while True: user_choice = village(prog0) if user_choice == 5: dung0 = Dungeon(player=user, bonus_tasks=args.bonus_tasks) if args.bonus_tasks: dung0.gravedigger = totengraeber dungeon(dung0) elif user_choice == 6: save_gamedata(gamedata, save), print("Game saved to {}".format(save)) elif user_choice == 0: quit(gamedata, save) break else: raise KeyError( "main.py Something went wrong with the user choosing what to do!" ) sys.exit(0)