emPYre/location_test.py
2022-10-17 19:17:22 +02:00

60 lines
1.5 KiB
Python

import curses
# Import my own libraries
from state import State
gamestate = State()
gamestate.load()
from render import Render
# -- Initialize --
stdscr = curses.initscr()
curses.noecho()
curses.cbreak()
stdscr.keypad(1)
stdscr.notimeout(1)
# Clear and refresh the screen for a blank canvas
stdscr.clear()
stdscr.refresh()
height, width = stdscr.getmaxyx()
curses.start_color()
curses.init_pair(1, curses.COLOR_GREEN, curses.COLOR_BLACK) # Neutral Land
curses.init_pair(2, curses.COLOR_BLUE, curses.COLOR_BLACK) # Neutral Sea
curses.init_pair(3 , curses.COLOR_RED, curses.COLOR_BLACK) # Hostile
curses.init_pair(7, curses.COLOR_BLACK, curses.COLOR_BLACK) # Outside of the map
#stdscr = Render.renderScreen(stdscr, gamestate, 40, 12)
stdscr = Render.renderScreen(stdscr, gamestate, 75, 25)
k = 0
map_focus_x = round(gamestate.metadata['width']/2)
map_focus_y = round(gamestate.metadata['height']/2)
while (k != ord('q')):
if k == curses.KEY_DOWN:
map_focus_y = map_focus_y + 1
elif k == curses.KEY_UP:
map_focus_y = map_focus_y - 1
elif k == curses.KEY_RIGHT:
map_focus_x = map_focus_x + 1
elif k == curses.KEY_LEFT:
map_focus_x = map_focus_x - 1
map_focus_x = max(0, map_focus_x)
map_focus_x = min(gamestate.metadata['width'], map_focus_x)
map_focus_y = max(0, map_focus_y)
map_focus_y = min(gamestate.metadata['height'], map_focus_y)
stdscr = Render.renderScreen(stdscr, gamestate, map_focus_x, map_focus_y)
k = stdscr.getch()
stdscr.keypad(0)
curses.echo()
curses.nocbreak()
curses.endwin()