#!/usr/bin/python # Etch-a-Sketch Program # Nathan Lasseter 21 May 2011 # [14789632] move # 5 pen up/down # 0 toggle eraser # p_ change pen to _ # h show/hide cursor # q quit import curses x = 40 y = 12 down = True erase = False shown = True pen = ord("o") screen = curses.initscr() curses.noecho() curses.curs_set(2) screen.keypad(1) screen.move(y, x) while True: event = screen.getch() if event == ord("q"): break elif event == ord("5"): down = not down elif event == ord("0"): erase = not erase elif event == ord("p"): pen = screen.getch() elif event == ord("h"): if shown: curses.curs_set(0) shown = False else: curses.curs_set(2) shown = True elif event == ord("8"): if erase: screen.addch(ord(" ")) elif down: screen.addch(pen) y -= 1 screen.move(y,x) elif event == ord("2"): if erase: screen.addch(ord(" ")) elif down: screen.addch(pen) y += 1 screen.move(y,x) elif event == ord("4"): if erase: screen.addch(ord(" ")) elif down: screen.addch(pen) x -= 1 screen.move(y,x) elif event == ord("6"): if erase: screen.addch(ord(" ")) elif down: screen.addch(pen) x += 1 screen.move(y,x) elif event == ord("7"): if erase: screen.addch(ord(" ")) elif down: screen.addch(pen) y -= 1 x -= 1 screen.move(y,x) elif event == ord("9"): if erase: screen.addch(ord(" ")) elif down: screen.addch(pen) y -= 1 x += 1 screen.move(y,x) elif event == ord("1"): if erase: screen.addch(ord(" ")) elif down: screen.addch(pen) y += 1 x -= 1 screen.move(y,x) elif event == ord("3"): if erase: screen.addch(ord(" ")) elif down: screen.addch(pen) y += 1 x += 1 screen.move(y,x) curses.endwin()