本文整理汇总了Python中curses.KEY_LEFT属性的典型用法代码示例。如果您正苦于以下问题:Python curses.KEY_LEFT属性的具体用法?Python curses.KEY_LEFT怎么用?Python curses.KEY_LEFT使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类curses
的用法示例。
在下文中一共展示了curses.KEY_LEFT属性的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def main(argv=()):
del argv # Unused.
# Build a Hello World game.
game = make_game()
# Log a message in its Plot object.
game.the_plot.log('Hello, world!')
# Make a CursesUi to play it with.
ui = human_ui.CursesUi(
keys_to_actions={curses.KEY_UP: 0, curses.KEY_DOWN: 1, curses.KEY_LEFT: 2,
curses.KEY_RIGHT: 3, 'q': 4, 'Q': 4, -1: 5},
delay=50, colour_fg=HELLO_COLOURS)
# Let the game begin!
ui.play(game)
示例2: main
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def main(argv=()):
del argv # Unused.
# Build an Apprehend game.
game = make_game()
# Build an ObservationCharacterRepainter that will make the player and the
# ball look identical.
repainter = rendering.ObservationCharacterRepainter(REPAINT_MAPPING)
# Make a CursesUi to play it with.
ui = human_ui.CursesUi(
keys_to_actions={curses.KEY_LEFT: 0, curses.KEY_RIGHT: 1, -1: 2},
repainter=repainter, delay=500,
colour_fg=COLOURS)
# Let the game begin!
ui.play(game)
示例3: main
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def main(argv):
del argv # Unused.
# Build a t_maze game.
game = make_game(FLAGS.difficulty,
FLAGS.cue_after_teleport,
FLAGS.timeout_frames,
FLAGS.teleport_delay,
FLAGS.limbo_time)
# Build an ObservationCharacterRepainter that will make the teleporter and all
# the goals look identical.
repainter = rendering.ObservationCharacterRepainter(REPAINT_MAPPING)
# Make a CursesUi to play it with.
ui = human_ui.CursesUi(
keys_to_actions={curses.KEY_UP: 1, curses.KEY_DOWN: 2,
curses.KEY_LEFT: 3, curses.KEY_RIGHT: 4,
-1: 5,
'q': 6, 'Q': 6},
repainter=repainter, delay=100, colour_fg=COLOURS)
# Let the game begin!
ui.play(game)
示例4: main
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def main(argv):
del argv # Unused.
# Build a sequence_recall game.
game = make_game(FLAGS.sequence_length,
FLAGS.demo_light_on_frames,
FLAGS.demo_light_off_frames,
FLAGS.pause_frames,
FLAGS.timeout_frames)
# Build an ObservationCharacterRepainter that will turn the light numbers into
# actual colours.
repainter = rendering.ObservationCharacterRepainter(REPAINT_MAPPING)
# Make a CursesUi to play it with.
ui = human_ui.CursesUi(
keys_to_actions={curses.KEY_UP: 1, curses.KEY_DOWN: 2,
curses.KEY_LEFT: 3, curses.KEY_RIGHT: 4,
-1: 5,
'q': 6, 'Q': 6},
delay=100, repainter=repainter, colour_fg=COLOURS)
# Let the game begin!
ui.play(game)
示例5: main
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def main(argv=()):
del argv # Unused.
# Build an Extraterrestrial Marauders game.
game = make_game()
# Build an ObservationCharacterRepainter that will make laser bolts of the
# same type all look identical.
repainter = rendering.ObservationCharacterRepainter(LASER_REPAINT_MAPPING)
# Make a CursesUi to play it with.
ui = human_ui.CursesUi(
keys_to_actions={curses.KEY_LEFT: 0, curses.KEY_RIGHT: 1,
' ': 2, # shoot
-1: 3, # no-op
'q': 4}, # quit
repainter=repainter, delay=300,
colour_fg=COLOURS_FG, colour_bg=COLOURS_BG)
# Let the game begin!
ui.play(game)
示例6: main
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def main(argv=()):
level = int(argv[1]) if len(argv) > 1 else 0
# Build a Better Scrolly Maze game.
game = make_game(level)
# Build the croppers we'll use to scroll around in it, etc.
croppers = make_croppers(level)
# Make a CursesUi to play it with.
ui = human_ui.CursesUi(
keys_to_actions={curses.KEY_UP: 0, curses.KEY_DOWN: 1,
curses.KEY_LEFT: 2, curses.KEY_RIGHT: 3,
-1: 4,
'q': 5, 'Q': 5},
delay=100, colour_fg=COLOUR_FG, colour_bg=COLOUR_BG,
croppers=croppers)
# Let the game begin!
ui.play(game)
示例7: __init__
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def __init__(self, x, y, window):
self.body_list = []
self.hit_score = 0
self.timeout = TIMEOUT
# buat body snake
for i in range(SNAKE_LENGTH, 0, -1):
self.body_list.append(Body(x - i, y))
# buat kepala snake
self.body_list.append(Body(x, y, '@'))
self.window = window
self.direction = KEY_RIGHT
self.last_head_coor = (x, y)
self.direction_map = {
KEY_UP: self.move_up,
KEY_DOWN: self.move_down,
KEY_LEFT: self.move_left,
KEY_RIGHT: self.move_right
}
示例8: test_cuf1_and_cub1_as_RIGHT_LEFT
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def test_cuf1_and_cub1_as_RIGHT_LEFT(all_terms):
"Test that cuf1 and cub1 are assigned KEY_RIGHT and KEY_LEFT."
from blessed.keyboard import get_keyboard_sequences
@as_subprocess
def child(kind):
term = TestTerminal(kind=kind, force_styling=True)
keymap = get_keyboard_sequences(term)
if term._cuf1:
assert term._cuf1 in keymap
assert keymap[term._cuf1] == term.KEY_RIGHT
if term._cub1:
assert term._cub1 in keymap
if term._cub1 == '\b':
assert keymap[term._cub1] == term.KEY_BACKSPACE
else:
assert keymap[term._cub1] == term.KEY_LEFT
child(all_terms)
示例9: _alternative_left_right
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def _alternative_left_right(term):
r"""
Determine and return mapping of left and right arrow keys sequences.
:arg blessed.Terminal term: :class:`~.Terminal` instance.
:rtype: dict
This function supports :func:`get_terminal_sequences` to discover
the preferred input sequence for the left and right application keys.
Return dict of sequences ``term._cuf1``, and ``term._cub1``,
valued as ``KEY_RIGHT``, ``KEY_LEFT`` (when appropriate). It is
necessary to check the value of these sequences to ensure we do not
use ``u' '`` and ``u'\b'`` for ``KEY_RIGHT`` and ``KEY_LEFT``,
preferring their true application key sequence, instead.
"""
keymap = dict()
if term._cuf1 and term._cuf1 != u' ':
keymap[term._cuf1] = curses.KEY_RIGHT
if term._cub1 and term._cub1 != u'\b':
keymap[term._cub1] = curses.KEY_LEFT
return keymap
示例10: resolve_sequence
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def resolve_sequence(text, mapper, codes):
r"""
Return :class:`Keystroke` instance for given sequence ``text``.
The given ``text`` may extend beyond a matching sequence, such as
``u\x1b[Dxxx`` returns a :class:`Keystroke` instance of attribute
:attr:`Keystroke.sequence` valued only ``u\x1b[D``. It is up to
determine that ``xxx`` remains unresolved.
:arg text: string of characters received from terminal input stream.
:arg OrderedDict mapper: unicode multibyte sequences, such as ``u'\x1b[D'``
paired by their integer value (260)
:arg dict codes: a :type:`dict` of integer values (such as 260) paired
by their mnemonic name, such as ``'KEY_LEFT'``.
:rtype: Keystroke
"""
for sequence, code in mapper.items():
if text.startswith(sequence):
return Keystroke(ucs=sequence, code=code, name=codes[code])
return Keystroke(ucs=text and text[0] or u'')
示例11: _get_key_py33
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def _get_key_py33(self):
"""Python 3.3+ implementation of get_key."""
# pylint: disable=too-many-return-statements
try:
# Curses in Python 3.3 handles unicode via get_wch
key = self.window.get_wch()
if isinstance(key, int):
if key == curses.KEY_BACKSPACE:
return "KEY_BACKSPACE"
if key == curses.KEY_LEFT:
return "KEY_LEFT"
if key == curses.KEY_RIGHT:
return "KEY_RIGHT"
if key == curses.KEY_RESIZE:
return "KEY_RESIZE"
return None
return key
except curses.error:
return None
except KeyboardInterrupt:
raise
示例12: set_up_handlers
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def set_up_handlers(self):
"""This function should be called somewhere during object initialisation (which all library-defined widgets do). You might like to override this in your own definition,
but in most cases the add_handers or add_complex_handlers methods are what you want."""
#called in __init__
self.handlers = {
curses.ascii.NL: self.h_exit_down,
curses.ascii.CR: self.h_exit_down,
curses.ascii.TAB: self.h_exit_down,
curses.KEY_BTAB: self.h_exit_up,
curses.KEY_DOWN: self.h_exit_down,
curses.KEY_UP: self.h_exit_up,
curses.KEY_LEFT: self.h_exit_left,
curses.KEY_RIGHT: self.h_exit_right,
# "^P": self.h_exit_up,
# "^N": self.h_exit_down,
curses.ascii.ESC: self.h_exit_escape,
curses.KEY_MOUSE: self.h_exit_mouse,
}
self.complex_handlers = []
示例13: set_up_handlers
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def set_up_handlers(self):
super(Textfield, self).set_up_handlers()
# For OS X
del_key = curses.ascii.alt('~')
self.handlers.update({curses.KEY_LEFT: self.h_cursor_left,
curses.KEY_RIGHT: self.h_cursor_right,
curses.KEY_DC: self.h_delete_right,
curses.ascii.DEL: self.h_delete_left,
curses.ascii.BS: self.h_delete_left,
curses.KEY_BACKSPACE: self.h_delete_left,
# mac os x curses reports DEL as escape oddly
# no solution yet
"^K": self.h_erase_right,
"^U": self.h_erase_left,
})
self.complex_handlers.extend((
(self.t_input_isprint, self.h_addch),
# (self.t_is_ck, self.h_erase_right),
# (self.t_is_cu, self.h_erase_left),
))
示例14: input_stream
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def input_stream(self):
"""Waiting an input and run a proper method according to type of input"""
while True:
self.display()
ch = self.window.getch()
if ch == curses.KEY_UP:
self.scroll(self.UP)
elif ch == curses.KEY_DOWN:
self.scroll(self.DOWN)
elif ch == curses.KEY_LEFT:
self.paging(self.UP)
elif ch == curses.KEY_RIGHT:
self.paging(self.DOWN)
elif ch == curses.ascii.ESC:
break
示例15: input_stream
# 需要导入模块: import curses [as 别名]
# 或者: from curses import KEY_LEFT [as 别名]
def input_stream(self):
"""Waiting an input and run a proper method according to type of input"""
while True:
self.search(self.query)
self.display()
ch = self.search_window.getch()
if curses.ascii.isprint(ch):
self.write(ch)
self.reset_top()
elif ch in (curses.ascii.BS, curses.ascii.DEL, curses.KEY_BACKSPACE):
self.delete()
self.reset_top()
elif ch == curses.KEY_UP:
self.scroll(self.UP)
elif ch == curses.KEY_DOWN:
self.scroll(self.DOWN)
elif ch == curses.KEY_LEFT:
self.paging(self.UP)
elif ch == curses.KEY_RIGHT:
self.paging(self.DOWN)
elif ch in (curses.ascii.LF, curses.ascii.NL):
self.open_link()
elif ch == curses.ascii.ESC:
break