Created
March 11, 2018 17:10
-
-
Save hastinbe/8b64a63c4b7f2f962538710f639e153f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import curses | |
| import signal | |
| import sys | |
| # Globals | |
| screen = None | |
| refresh_time = 1 | |
| class Screen(object): | |
| def __init__(self, refresh_time = 1): | |
| self.screen = curses.initscr() | |
| if not self.screen: | |
| print("fuck\n") | |
| curses.noecho() | |
| curses.cbreak() | |
| curses.curs_set(0) | |
| self.term_h = 24 | |
| self.term_w = 80 | |
| self.goose_x = 0 | |
| self.goose_y = 0 | |
| self.term = curses.newwin(self.term_h, self.term_w, 0, 0) | |
| self.__refresh_time = refresh_time | |
| def exit(self): | |
| curses.echo() | |
| curses.nocbreak() | |
| curses.curs_set(1) | |
| curses.endwin() | |
| def update(self): | |
| self.term.refresh() | |
| curses.napms(self.__refresh_time * 1000) | |
| def clear(self): | |
| self.term.erase() | |
| def displayGoose(self): | |
| goose = "Mrgoose is on the loose" | |
| self.term.addnstr(self.goose_y, self.goose_x, goose, 80, 0) | |
| def exit(): | |
| screen.exit() | |
| sys.exit(0) | |
| def signal_handler(signal, frame): | |
| exit() | |
| if __name__ == '__main__': | |
| screen = Screen(refresh_time) | |
| # Ctrl-C | |
| signal.signal(signal.SIGINT, signal_handler) | |
| while True: | |
| screen.clear() | |
| screen.displayGoose() | |
| screen.update() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment