从curses中的窗口获取字符串

时间:2016-03-21 11:16:43

标签: python curses

我正在使用curses在python中创建一个控制台游戏但是我找不到一个从屏幕上获取字符串的函数。

的Python

import curses

############
# Game Map #
############
gameMap = """
##########
#________#
#________#
##########
"""

gameWin = curses.initscr()
curses.cbreak()
curses.curs_set(0)
gameWin.keypad(1)

gameWin.clear()
gameWin.addstr(gameMap)
gameWin.addstr(playerY, playerX, playerIcon)
game_over = False
while game_over == False:
    c = gameWin.getch()

    if c == curses.KEY_RIGHT ## and gameWin. some function (playerY,playerX+1) != "#":
                                       #### this line ^^^^
        playerX += 1
    gameWin.clear()
    gameWin.addstr(gameMap)
    gameWin.addstr(playerY, playerX, playerIcon)
curses.nocbreak(); gameWin.keypad(0); curses.echo()
curses.endwin()

正如您所见,我想在playerY playerX gameWin获取字符串 我试过了getstr

1 个答案:

答案 0 :(得分:4)

您应该可以使用instr()执行此操作。

就个人而言,我建议仅将屏幕用作输出而不是存储,因此您要保留游戏板的内部表示,以更适合游戏本身的逻辑。但这取决于你。