def __init__(self, screen, args): self.log = logging.getLogger(__name__) self.log.debug("Initializing screen.") self.args = args self.interactive = not args.non_interactive if self.interactive: res, ret = unicurses.KEY_RESIZE, unicurses.KEY_ENTER self.ctrlchars = (res, ret, ord('\n'), ord('\x1b')) self.msg = None self.screen = screen self.h, self.w = 22, 78 self.wrap = textwrap.TextWrapper(width=self.w - 1) self.initattrs() self.frame = unicurses.newwin(self.h + 2, self.w + 2, 0, 0) unicurses.wborder(self.frame) self.win = unicurses.newwin(self.h, self.w, 0, 0) unicurses.keypad(self.win, 1) self.sslnoverify = sys.version_info >= (2, 7, 9) and args.ssl_no_verify self.loadst, self.savest = True, True self.state = DataTree(self, {}) self.oldstate = DataTree(self, {}) self.validate = Validate(self) self.format = Format(self) self.nexus = Nexus(self) self.artifactory = Artifactory(self) self.initstate(args.load_file) self.log.debug("Screen initialized.")
def __init__(self, screen, args): self.log = logging.getLogger(__name__) self.log.debug("Initializing screen.") self.args = args self.interactive = not args.non_interactive if self.interactive: res, ret = unicurses.KEY_RESIZE, unicurses.KEY_ENTER self.ctrlchars = (res, ret, ord('\n'), ord('\x1b')) self.msg = None self.screen = screen self.h, self.w = 22, 78 self.wrap = textwrap.TextWrapper(width=self.w - 1) self.initattrs() self.frame = unicurses.newwin(self.h + 2, self.w + 2, 0, 0) unicurses.wborder(self.frame) self.win = unicurses.newwin(self.h, self.w, 0, 0) unicurses.keypad(self.win, 1) self.sslnoverify = sys.version_info >= (2, 7, 9) and args.ssl_no_verify self.loadst, self.savest = True, True self.state = DataTree(self, {}) self.oldstate = DataTree(self, {}) self.validate = Validate(self) self.format = Format(self) self.nexus = Nexus(self) self.artifactory = Artifactory(self) self.initstate(args.load_file) self.log.debug("Screen initialized.")
def draw_snake(self): # draws the snake ascii art for y, line in enumerate(asci.splitlines()): curses.mvwaddstr(stdscr, y, middlex - 20, line) curses.wborder(stdscr) curses.refresh()
def speed_menu(self): # draws the speed menu curses.mvwaddstr(stdscr, 8, middlex - 7, 'Choose speed') curses.mvwaddstr(stdscr, 9, middlex - 7, '<---------->') curses.wborder(stdscr) curses.refresh
def main_menu(self): # draws the main menu curses.wborder(stdscr) curses.mvwaddstr(stdscr, 8, middlex - 5, 'New Game') curses.mvwaddstr(stdscr, 9, middlex - 5, 'Set Speed') curses.mvwaddstr(stdscr, 10, middlex - 5, 'Quit') curses.refresh()
def __init__(self, screen): self.msg = None self.screen = screen self.modified = False self.h, self.w = 22, 78 self.nexus = Nexus() self.artifactory = Artifactory(self) self.wrap = textwrap.TextWrapper(width=self.w) self.initattrs() self.frame = unicurses.newwin(self.h + 2, self.w + 2, 0, 0) unicurses.wborder(self.frame) self.win = unicurses.newwin(self.h, self.w, 0, 0) unicurses.keypad(self.win, 1)
def __init__(self, screen): self.msg = None self.screen = screen self.mainmenu = None self.oldstate = None self.h, self.w = 22, 78 self.nexus = Nexus() self.artifactory = Artifactory(self) self.wrap = textwrap.TextWrapper(width=self.w - 1) self.initattrs() self.frame = unicurses.newwin(self.h + 2, self.w + 2, 0, 0) unicurses.wborder(self.frame) self.win = unicurses.newwin(self.h, self.w, 0, 0) unicurses.keypad(self.win, 1)
def game(speed): snake.food() # main loop for the game global KEY curses.nodelay(stdscr, True) while True: KEY = get_key(KEY) if snake.get_status() == 'dead' or KEY == 27: # game over curses.clear() curses.wborder(stdscr) curses.mvwaddstr(stdscr, middley-1, middlex-6, '--GAME OVER--') curses.mvwaddstr(stdscr, middley, middlex-8,'Your score is -') curses.mvwaddstr(stdscr, middley, middlex+8, snake.lenght - snake.starting_lenght-1) curses.mvwaddstr(stdscr, middley+1, middlex-8,'Press Esc to quit') KEY = choice([RIGHT, LEFT]) snake.food() curses.refresh() curses.nodelay(stdscr, False) while get_key(KEY) != 27: pass reset_game() snake.__init__() break if snake.get_status() == 'grow': # eaten food snake.food() snake.draw(KEY) snake.delete(snake.lenght) time.sleep(1/speed/2)
def __init__(self, screen): self.log = logging.getLogger(__name__) self.log.debug("Initializing curses screen.") self.msg = None self.screen = screen self.mainmenu = None self.oldstate = None self.h, self.w = 22, 78 self.nexus = Nexus() self.artifactory = Artifactory(self) self.wrap = textwrap.TextWrapper(width=self.w - 1) self.initattrs() self.frame = unicurses.newwin(self.h + 2, self.w + 2, 0, 0) unicurses.wborder(self.frame) self.win = unicurses.newwin(self.h, self.w, 0, 0) unicurses.keypad(self.win, 1) self.log.debug("Curses screen initialized.")
def main_menu(): # main loop for main menu global CURSOR while True: curses.nodelay(stdscr, False) menu.draw_snake() menu.main_menu() menu.main_cursor(CURSOR) KEY = curses.getch() if KEY == UP and CURSOR > 0: CURSOR -= 1 elif KEY == DOWN and CURSOR < 2: CURSOR += 1 elif KEY == 27: reset_game() break elif KEY == 10 or KEY == 459: if CURSOR == 0: reset_game() curses.wborder(stdscr) game(SPEED) elif CURSOR == 1: reset_game() speed_menu() reset_game() elif CURSOR == 2: reset_game() break
def destroy_win(self): wborder(self.selector_zone, CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' ')) wrefresh(self.selector_zone) delwin(self.selector_zone)
import unicurses as curses import time import os from random import randint, choice os.environ['ESCDELAY'] = '25' stdscr = curses.initscr() curses.noecho() curses.cbreak() curses.keypad(stdscr, 1) curses.wborder(stdscr) curses.curs_set(0) middley, middlex = map(lambda x: x // 2, curses.getmaxyx( stdscr)) # get middle coordinates depending on the size of the terminal UP = 259 # ascii key codes DOWN = 258 LEFT = 261 RIGHT = 260 asci = ''' _____ _ _ _ ________ / ____| \ | | /\ | |/ / ____| | (___ | \| | / \ | ' /| |__ \___ \| . ` | / /\ \ | < | __| ____) | |\ |/ ____ \| . \| |____ |_____/|_| \_/_/ \_\_|\_\______|''' def reset_game(): '''
def destroy_win(self): wborder(self.selector_zone, CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' ')) wrefresh(self.selector_zone) delwin(self.selector_zone)