問題タブ [python-curses]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2578 参照

python - 右下隅で addch を呼び出すと curses が失敗する

Pythonで呪いを学び始めています。Mac OS X で Python 3.5 を使用しています。右下隅に書き込もうとすると、次のエラーでプログラムがクラッシュします。

サンプルプログラムは次のとおりです。

明らかな何かが欠けているような気がしますが、何がわかりません。

0 投票する
3 に答える
4118 参照

python - 標準ライブラリのどこかに ANSI カラー エスケープ コードのリストはありますか?

私は多くの小さなヘルパー スクリプトを作成しており、多くの場合、これらは端末に色付きのテキストを出力します。パッケージ化と配布を簡素化するために、これらの小さなスクリプトに依存関係を持たないようにしたいことがよくあります。

したがって、スクリプトで次のようなデータを複製しています。

このデータはコア ライブラリのどこかに存在しますか? 私は掘り下げて、cursesいくつかのCOLOR_*定数があることを発見しましたが、それらは単なる整数であり、それらがANSIエスケープコードにどのように変換されるかは明らかではありません.

termcolorcolorama、のようなモジュールは既に知っているblessingsので、それらの使用を提案しないでください。標準ライブラリのみに依存したいのです。

0 投票する
0 に答える
92 参照

python-3.x - 関数とその引数を辞書に保存する

if/elif ステートメントの見栄えが悪いのは好きではありません。また、switch/case ステートメントはあまり優れていません。辞書の方が読みやすいと思います。これで、各キー バインディングが別の関数に割り当てられた場合の処理​​方法がわかりました。それは簡単です。しかし、それには 8 つの異なる移動関数 (moveNE、moveN、moveNW など) が必要になります。したがって、方向を引数として取る単純な move_object 関数が必要です。しかし、このコードを機能させるのに問題があり、何が間違っているのかわかりません。これが問題のコードです。

まず、辞書:

次に、move_object 関数:

最後に、move_object 関数を呼び出すコード:

キーバインドはゲーム クラスのinit関数で定義され、コードの最後のブロックは Game.main_loop() 内で発生します。

チュートリアルを何度か読みましたが、何が間違っているのかわかりません。ここにあるものは、args 辞書を ** キーワードとして move_object() 関数に渡すと思っていましたが、引数エラーが発生しました (2 つの引数が必要で、1 つを受け取りました)。

0 投票する
1 に答える
917 参照

python - ユーザーが「q」と入力したときに Python スクリプトを終了するにはどうすればよいですか?

ユーザーが入力したときにcurses pythonスクリプトを正しく終了するコードを追加しようとしていqます CTRL+Ccurses が正しく初期化解除されないため、単に行うことはできません。

タイムアウトのあるユーザー入力を取得するための良い解決策が見つからないため、ユーザーが何らかの入力を行うまでプログラムはそこに留まりません。

ユーザー入力を処理するだけで、メインスレッドに de-init 関数を実行するように要求できる 2 番目のスレッドを作成する簡単な方法はありますか?

0 投票する
0 に答える
73 参照

python-2.7 - inch([y,x]) メソッドが色のペアで機能しない Curses Python

Curses と Python 2.7.12 を使用してターミナル ウィンドウ ベースのゲームに取り組んでいます。これまでのゲームはうまく機能しており、基本的な戦闘システムを追加する必要があるだけです. しかし、真っ黒に真っ白な文字に飽きてしまいました。そこで、@ 記号 (プレイヤー) を赤、H (壁) をグレー、C (宝箱) を黄色、X (敵) を青にしたいと考えました。ただし、色のペアを使用してキャラクターの色を変更すると、壁を通り抜けることができ、敵があなたを殺さず、胸がゲームを終了しないように、インチ法は機能しません。したほうがいい。Python で実際に OOP を行うのは初めてなので、私のコードは少しずさんです。また、そのほとんどを夜間に書いています。コードで間違っている可能性のある他のものを修正しようとしたり、それについて私を批判したりしないでください. この部分について助けを求めているだけです。私は自分の過ちから学びたいと思っています (これを除いて、私は本当にそれを理解することができません)、自分のコードを自分で再最適化したいです。前もって感謝します!

(注: 私は Windows 10 を実行しているので、必要に応じて Mac/Linux で実行するために必要な変更を加えてください。注 2: 「map」という名前の文字列は、ゲームの実際のマップです。これが非常に長い理由は、これは、実際にはすべてのエンター クリックが \n に置き換えられた四角形のテキスト文字であるためです。大きな地図であり、私のせいではありません。)

これがコードです。

繰り返しますが、私は Mac または Linux を所有していないため、これを機能させるために必要な変更があるかどうかはわかりません。お気軽にどうぞ。

0 投票する
0 に答える
447 参照

python-3.x - curses モジュールでの Python 3.5 エラー (サポートされていません)

curses の使用を開始しようとしていて、次のコードを見ました。

しかし、実行するたびに、次のメッセージが表示されます。

リダイレクトはサポートされていません。中止 (切断)

curses モジュールは既にあり、Python 3.5 を使用しています。私は Wing IDE も使用していますが、IDE が curses をサポートするために他にインストールする必要があるものはありますか?