X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=client_prototype.py;h=3e0ad735b8b8f19d088ad62d37af485b6ea09383;hb=9571bdecc1a2d5cf69c49e5eb2749e720d8c4ba1;hp=2340bfed6dbaf8e1b3614ee02b6cbe56026ef3a8;hpb=2746c58eafa13e770bbd3447b63bca28ea9f36bc;p=plomrogue diff --git a/client_prototype.py b/client_prototype.py index 2340bfe..3e0ad73 100644 --- a/client_prototype.py +++ b/client_prototype.py @@ -1,5 +1,6 @@ import curses import signal +import os def set_window_geometries(): @@ -127,8 +128,8 @@ def draw_screen(): and x_in_screen < screen_size[1]): stdscr.addch(y_in_screen, x_in_screen, cell) def draw_scroll_hints(): - def draw_scroll_string(hint_number): - hint = ' ' + str(hint_number + 1) + ' more ' + unit + ' ' + def draw_scroll_string(n_lines_outside): + hint = ' ' + str(n_lines_outside + 1) + ' more ' + unit + ' ' if len(hint) <= win["size"][ni]: non_hint_space = win["size"][ni] - len(hint) hint_offset = int(non_hint_space / 2) @@ -174,8 +175,10 @@ def main(stdscr): while True: draw_screen() char = stdscr.getch() - if (char >= 0 and chr(char) == 'Q'): - exit() + if (char >= 0): + if chr(char) in commands: + commands[chr(char)]() + def foo(): winmap = ['.', 'o', '.', 'o', 'O', 'o', '.', 'o', '.', 'x', 'y', 'x'] @@ -184,6 +187,12 @@ def foo(): return offset, size, winmap +def command_quit(): + io["file_out"].write("QUIT\n") + io["file_out"].flush() + exit() + + windows = [ {"config": [1, 33], "func": foo}, {"config": [-7, 33], "func": foo}, @@ -191,9 +200,20 @@ windows = [ {"config": [4, 16], "func": foo}, {"config": [0, -34], "func": foo} ] +io = { + "path_out": "server/in" +} +commands = { + "Q": command_quit +} + sep_size = 1 # Width of inter-window borders and title bars. stdscr = None screen_size = [0,0] - +if (not os.access(io["path_out"], os.F_OK)): + print("No server input file found at expected location.") + exit() +io["file_out"] = open(io["path_out"], "a") curses.wrapper(main) +io["file_out"].close()