from explore import Explore import curses from math import floor explore = Explore(0.0025) screen = curses.initscr() curses.noecho() #makes keys not put text on screen curses.cbreak() #removes buffer, allowing prog to receive control immediately screen.keypad(True) #allows arrow keys and things to work screen.scrollok(False) #disables scrolling key = '' while key != ord('q'): dim = screen.getmaxyx() if key in [curses.KEY_DOWN, curses.KEY_RIGHT, curses.KEY_UP, curses.KEY_LEFT]: explore.displace(explore.interpretkey(key),(floor(dim[0]/2),floor(dim[1]/4))) if key in [ord('.'), ord('/')]: explore.rockmod((floor(dim[0]/2), floor(dim[1]/4)), key == ord('/')) if key in [ord('s'), ord('l')]: screen.addstr(dim[0]-1, 0, 'File:'+' '*(dim[1]-6)) curses.echo() file = screen.getstr(dim[0]-1, 6) curses.noecho() if key == ord('s'): explore.save(file) else: screen.clear() explore.load(file) if key == ord('\\'): explore.setportal((floor(dim[0]/2), floor(dim[1]/4))) screen.addstr(0, 0, explore.get_area(dim)) screen.addstr(dim[0]-1, 0, str(explore.getinv())) screen.refresh() key = screen.getch(floor(dim[0]/2), 2*floor(dim[1]/4)) screen.scrollok(True) curses.nocbreak() screen.keypad(False) curses.echo() curses.endwin() #finished program; resets to normal