Files
pytomb/tomb.py
2022-05-12 19:51:04 +02:00

125 lines
3.2 KiB
Python
Executable File

#!/usr/bin/python3
import World
import ActionModul
import TestModule
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':
debug_Items()
elif command.startswith('auto:'):
command = command.rstrip()
if command.startswith('auto:'):
debugcommand = command.split(':',1)
logging.debug(f'debugcommand: {debugcommand}')
testmodul = TestModule.TestModule(world)
if(debugcommand[1] == 'truhe'):
testmodul.testOeffneTruhe()
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(f'Itemtyp: ' + {item})
# logging.debug(f'Item-IdId:{item.id} - Item-Name:{item.name}')
count = count +1
wrapper(inputLoop)