#! /usr/bin/python from field import Field import curses from curses import wrapper field = Field() def generate_source(): source = [] source.add('byte frame[8][12] =i {') for line in range(len(0,field.frame)): curline = field.frame[line] sourceline = '{' for col in range(0,len(curline)): pass def print_field(): for line in range(0,len(field)): curline = field[line] for col in range(0,len(curline)): if curline[col] == 0: print('o ', end='') else: print('x ', end='') print('\n',end='') def inputLoop(stdscr): exitPrg = False curses.init_pair(1, curses.COLOR_WHITE, curses.COLOR_BLACK) curses.init_pair(2, curses.COLOR_WHITE, curses.COLOR_CYAN) curses.init_pair(3, curses.COLOR_RED, curses.COLOR_BLACK) curses.noecho() curses.cbreak() while not exitPrg: field.print_field(stdscr) key = stdscr.getkey() field.message = str(key) match key: case 'q': exitPrg = True case ' ': field.togglePixel() case '^L': field.print_field(stdscr) case 'KEY_DOWN': if field.cursor[0] < len(field.frame)-1: newcursor = (field.cursor[0] +1,field.cursor[1]) field.cursor = newcursor case 'KEY_RIGHT': curline = field.frame[field.cursor[0]] if field.cursor[1] < len(curline)-1: newcursor = (field.cursor[0],field.cursor[1]+1) field.cursor = newcursor case 'KEY_LEFT': curline = field.frame[field.cursor[0]] if field.cursor[1] > 0: newcursor = (field.cursor[0],field.cursor[1]-1) field.cursor = newcursor case 'KEY_UP': curline = field.frame[field.cursor[0]] if field.cursor[0] > 0: newcursor = (field.cursor[0] -1,field.cursor[1]) field.cursor = newcursor def main(): wrapper(inputLoop) if __name__ == '__main__': main()