Пример #1
0
 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.")
Пример #2
0
 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.")
Пример #3
0
    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()
Пример #4
0
    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
Пример #5
0
    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()
Пример #6
0
 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)
Пример #7
0
 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)
Пример #8
0
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)        
Пример #9
0
 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.")
Пример #10
0
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
Пример #11
0
 def destroy_win(self):
     wborder(self.selector_zone, CCHAR(' '), CCHAR(' '), CCHAR(' '),
             CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '))
     wrefresh(self.selector_zone)
     delwin(self.selector_zone)
Пример #12
0
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():
    '''
Пример #13
0
 def destroy_win(self):
     wborder(self.selector_zone, CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '), CCHAR(' '),
             CCHAR(' '))
     wrefresh(self.selector_zone)
     delwin(self.selector_zone)