diff options
Diffstat (limited to 'functest/utils/functest_vacation.py')
-rw-r--r-- | functest/utils/functest_vacation.py | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/functest/utils/functest_vacation.py b/functest/utils/functest_vacation.py new file mode 100644 index 00000000..0ba09447 --- /dev/null +++ b/functest/utils/functest_vacation.py @@ -0,0 +1,52 @@ +from os import environ +from curses import initscr, curs_set, newwin, endwin,\ + KEY_RIGHT, KEY_LEFT, KEY_DOWN, KEY_UP +from random import randrange + + +def main(): + environ["TERM"] = 'Eterm' + initscr() + curs_set(0) + try: + win = newwin(16, 60, 0, 0) + win.keypad(True) + win.nodelay(True) + win.border('|', '|', '-', '-', '+', '+', '+', '+') + win.addch(4, 44, '@') + win.addstr(0, 5, ' Eat all the OPNFV bugs by FunTest! ') + win.addstr(15, 7, ' Left,Right,Up,Down: move; other keys: quit ') + snake = [[20, 7], [19, 7], [18, 7], [17, 7], + [16, 7], [15, 7], [14, 7], [13, 7]] + key = KEY_RIGHT + body = '~FUNTEST' + ind = 0 + while key != 27: + win.addstr(0, 44, ' Score: '+str(len(snake)-len(body))+' ') + win.timeout(140 - 2 * len(snake)) + getkey = win.getch() + key = key if getkey == -1 else getkey + snake.insert( + 0, [snake[0][0]+(key == KEY_RIGHT and 1 or + key == KEY_LEFT and -1), + snake[0][1]+(key == KEY_DOWN and 1 or + key == KEY_UP and -1)]) + win.addch(snake[len(snake)-1][1], snake[len(snake)-1][0], ' ') + if win.inch(snake[0][1], snake[0][0]) & 255 == 32: + snake.pop() + elif win.inch(snake[0][1], snake[0][0]) & 255 == ord('@'): + c = [n for n in [[randrange(1, 58, 1), randrange(1, 14, 1)] + for x in range(len(snake))] if n not in snake] + win.addch(c == [] and 4 or c[0][1], + c == [] and 44 or c[0][0], '@') + else: + break + ind += 1 + win.addch(snake[0][1], snake[0][0], body[ind % len(body)]) + finally: + endwin() + + print '\nSnake.PY-26lines by Kris Cieslak (defaultset.blogspot.com).' + print 'OPNFV adaptation by Functest dream team.' + print 'Thanks for playing, your score: '+str(len(snake)-len(body)-1)+'.' + print 'Find and fix more bugs in your real OPNFV setup!\n' |