2016-03-21 2 views
0

Я делаю консольную игру в python, используя curses BUT Я не могу найти функцию, чтобы получить строку с экрана.Получить строку из окна в 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

ответ

1

Вы должны быть в состоянии сделать это с instr().

Лично я предлагаю использовать экран только как вывод, а не как хранилище, поэтому вы должны иметь внутреннее представление игрового поля, которое больше подходит для логики самой игры. Но это зависит от вас.