私はPythonでcursesプログラムを作成しました。正常に動作します。ただし、を使用するnodelay()と、プログラムはターミナルで起動するとすぐに終了し、何も表示されません(新しいプロンプトのみ)。
編集
このコードはバグを再現します:
sc = curses.initscr()
sc.nodelay(1)#ただし、この行を削除すると、プログラムを正しく実行できます。
range(20)で怒っている場合:
sc.addstr(angry、1、 "hi")
これが私の完全なコードです
呪い、時間、sys、ランダムをインポートします
def paint(x、y、i):
#..。
def string(s、y):
#..。
def feed():
#..。
sc = curses.initscr()
curses.start_color()
curses.curs_set(0)
sc.nodelay(1)#########################################
#変数+初期化された色
range(20)で怒っている場合:
試す:
dir = chr(sc.getch())
sc.clear()
餌()
#たくさんのif
body.append([x、y])
body.pop(0)
体のポイントの場合:
paint(* point、i = 2)
sc.move(height-1、1)
sc.refresh()
time.sleep(待機)
eとしての例外を除く:
印刷sys.exc_info()[0]、e
sc.getch()
curses.beep()
curses.endwin()
なぜこれが起こっているのですか、そしてどうすればnodelay()安全に使用できますか?