#!/usr/bin/python3 import World import ActionModul import signal import sys import logging import curses from curses import wrapper def verarbeiteBefehl(parsedCommand): id = parsedCommand.key logging.debug(' Befehlkey: ' + id) if id == '0': sys.exit() elif id == '1': actionmodul.gehe(parsedCommand) elif id == '2': actionmodul.nimm(parsedCommand) elif id == '3': actionmodul.untersuche(parsedCommand) elif id == '4': actionmodul.benutze(parsedCommand) elif id == '5': actionmodul.nord() elif id == '6': actionmodul.ost() elif id == '7': actionmodul.sued() elif id == '8': actionmodul.west() elif id == '9': actionmodul.rauf() elif id == '10': actionmodul.runter() elif id == '12': actionmodul.inventar() world.waitForCR() elif id == '13': actionmodul.about() elif id == '14': print('verliere: ' + parsedCommand.gegenstand) actionmodul.verliere(parsedCommand) elif id == '15': actionmodul.warte() elif id == '17': actionmodul.ziehe(parsedCommand) elif id == '19': actionmodul.stelle(parsedCommand) elif id == '20': actionmodul.oeffne(parsedCommand) elif id == '21': actionmodul.klettere(parsedCommand) elif id == '22': actionmodul.fange(parsedCommand) elif id == '-1': world.fehler = 'Ich verstehe diesen Befehl nicht' else: world.fehler = 'nicht implementierter Befehl' def handle_SIGINT(sig,frame): logging.debug("CTRL-C abgefangen") sys.exit(0) logging.basicConfig(filename='tomb.log', level=logging.DEBUG) signal.signal(signal.SIGINT,handle_SIGINT) world = World.World() logging.debug('World initialisiert') actionmodul = ActionModul.ActionModul(world) def inputLoop(stdscr): schrittzaehler = 0 world.stdscr = stdscr curses.echo() curses.init_pair(1,curses.COLOR_RED, curses.COLOR_WHITE) curses.init_pair(2,curses.COLOR_GREEN, curses.COLOR_BLACK) curses.init_pair(3,curses.COLOR_YELLOW, curses.COLOR_BLACK) commandid = '' while commandid != '0': world.printRaum() actionmodul.clearFehler() stdscr.addstr(11,0,'Was nun? ') command = stdscr.getstr(11,10,40).decode(encoding="utf-8") command = command.rstrip() if command.startswith('debug:'): debugcommand = command.split(':',1) logging.debug(f'debugcommand: {debugcommand}') if debugcommand[1] == 'items': world.debug_Items() else: parsedCommand = world.parseInput(command) commandid = parsedCommand.commandid verarbeiteBefehl(parsedCommand) schrittzaehler = schrittzaehler +1 actionmodul.raumaction() def debug_Items(): logging.debug('liste Items') logging.debug(world.gegenstaende) count = 0 for item in world.gegenstaende: logging.debug(f'count= {count}') logging.debug('Itemtyp: ' + str(type(item))) # logging.debug(f'Item-IdId:{item.id} - Item-Name:{item.name}') count = count +1 wrapper(inputLoop)