j = win["start"][int(k == 0)] - sep_size
if (j >= 0 and j < screen_size[int(k == 0)]):
start = win["start"][k]
- # start = start if start >= 0 else 0
end = win["start"][k] + win["size"][k]
end = end if end < screen_size[k] else screen_size[k]
if k:
if (right >= 0 and right < screen_size[1]):
healthy_addch(down, right, '+')
+ def draw_window_titles():
+ for win in windows:
+ title = " " + win["title"] + " "
+ if len(title) <= win["size"][1]:
+ y = win["start"][0] - 1
+ start_x = win["start"][1] + int((win["size"][1] \
+ - len(title))/2)
+ for x in range(len(title)):
+ healthy_addch(y, start_x + x, title[x])
+
def draw_window_contents():
def draw_winmap():
"""Draw winmap in area delimited by offset, winmap_size.
stdscr.erase()
draw_window_border_lines()
draw_window_border_corners()
+ draw_window_titles()
draw_window_contents()
stdscr.refresh()
curses.noecho()
curses.curs_set(False)
- # stdscr.keypad(True)
signal.signal(signal.SIGWINCH,
lambda ignore_1, ignore_2: set_window_geometries())
set_window_geometries()
query_mapcell()
-def command_sender(string):
+def command_sender(string, int_field=None):
def command_send():
- io["file_out"].write(string + "\n")
+ int_string = ""
+ if int_field:
+ int_string = " " + str(world_data[int_field])
+ io["file_out"].write(string + int_string + "\n")
io["file_out"].flush()
return command_send
windows = [
- {"config": [1, 33], "func": win_info},
- {"config": [-7, 33], "func": win_log},
- {"config": [4, 16], "func": win_inventory},
- {"config": [4, 16], "func": win_look},
- {"config": [0, -34], "func": win_map}
+ {"config": [1, 33], "func": win_info, "title": "Info"},
+ {"config": [-7, 33], "func": win_log, "title": "Log"},
+ {"config": [4, 16], "func": win_inventory, "title": "Inventory"},
+ {"config": [4, 16], "func": win_look, "title": "Things here"},
+ {"config": [0, -34], "func": win_map, "title": "Map"}
]
io = {
"path_out": "server/in",
"path_worldstate": "server/worldstate"
}
commands = {
+ "A": (command_sender("ai"),),
+ "D": (command_sender("drop", "inventory_selection"),),
"P": (command_sender("pick_up"),),
"Q": (command_quit,),
+ "U": (command_sender("use", "inventory_selection"),),
"W": (command_sender("wait"),),
"c": (command_sender("move south-east"), command_looker("south-east")),
"d": (command_sender("move east"), command_looker("east")),