在 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()
如您所见,我想获取 playerY
、playerX
和 gameWin
中的字符串
我试过了getstr
你应该可以用 instr()
来做到这一点。
就我个人而言,我建议仅将屏幕用作输出而不是存储,这样您就可以保留更适合游戏本身逻辑的游戏板的内部表示。但这取决于你。
我正在 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()
如您所见,我想获取 playerY
、playerX
和 gameWin
中的字符串
我试过了getstr
你应该可以用 instr()
来做到这一点。
就我个人而言,我建议仅将屏幕用作输出而不是存储,这样您就可以保留更适合游戏本身逻辑的游戏板的内部表示。但这取决于你。