在 curses 中从 window 获取字符串

Get string from window in curses

我正在 python 使用 curses 制作主机游戏 但是 我找不到从屏幕获取字符串的函数。

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()

如您所见,我想获取 playerYplayerXgameWin 中的字符串 我试过了getstr

你应该可以用 instr() 来做到这一点。

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