aboutsummaryrefslogtreecommitdiff
path: root/rocks.py
blob: 975c7994ed571b6825f9de3bc7ba04dc65c3f9dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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