私は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()
安全に使用できますか?