問題タブ [libtcod]

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 投票する
2 に答える
2647 参照

python - libtcod と python のキーストローク/コントロール?

RoguebasinのPython/Libtcod チュートリアルは、キャラクターを制御するための基本的なコードは上下左右のキーを使用します。WSAD またはその他のキーを使用する方法はありますか? libtcod では、矢印キー、PGDN/PGUP、F1 F2 F3 などの「特殊な」キーのみを使用できますが、通常の英数字キーは使用できません。

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

python - Python / LibTCOD - libtcod.console_wait_for_keypress(True) が入力ごとに 2 回トリガーする

Roguebasin python/libtcod ローグライク チュートリアルを進めています。私が遭遇する問題は、 が呼び出されるたびkey = libtcod.console_wait_for_keypress(True)に、メイン ループが 1 回ではなく 2 回起動することです。キーボード入力を処理するコードは次のとおりです。

コードは、チュートリアルのこの部分からそのまま引用されています (余分な 4 スペースのインデントを除いて) 。そのページには 2 つのコード バージョンがあることに注意してください。独自のバージョンを作成しましたが、直接コピーして貼り付けても問題が発生します。私が知る限り、問題はチュートリアル全体に浸透しています。

console_wait_for_keypress(True)単一のキーを待って「キー」変数に入れることになっているので、それに反応できます。他のすべての入力はフラッシュされるはずです。console_wait_for_keypress(True)次に、新しい入力を待機することになっているメインループ呼び出しの新しい繰り返しなど。console_wait_for_keypress(True)代わりに、新しい入力を待たずにトリガーの 2 番目の反復が実行されます。

console_is_key_pressed()2 番目の入力は条件をトリガーせず、handle_keys()関数は「didnt-take-turn」を返し、ゲーム ロジックに何もしないように指示するため、ゲームは実際には正常に動作します。これは、サイクルごとに代わりに 2 つが費やされることを意味しますが、これは望ましい動作ではありません。handle_keys()すべてのサイクルの結果を印刷すると、問題は簡単に確認できます。「None」と「didnt-take-turn」を交互に繰り返します。

私は正直にこれに困惑しています。単に方向ボタンを押したままにすると、「didnt-take-turn」出力が生成されないように見えますが、この機能は単一のキー押下に使用されることになっています。通常のキー押下では常に正確に 2 つの出力が生成されるため、遅延が短すぎることはありません。libtcod のドキュメントは役に立ちません。

1回のキーストロークで1回だけトリガーするにはどうすればよいconsole_wait_for_keypress()ですか?

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

python - Python プログラムを実行しても応答しない

Libtcod を使用して Python でローグライクを作成しています。コードを実行すると、ウィンドウがポップアップし、画面にシンボルが描画されますが、ウィンドウがフリーズします。その後、応答していないと表示されます。何が起こっているのかわかりません。コードは次のとおりです。

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

python - プレイが動いたときに Python プログラムが応答しない

libtcodを使用してpythonでローグライクを書いています。オブジェクト指向に切り替える前に、動きはうまくいきました。Python ゲームを実行するとポップアップしますが、プレーヤーを動かそうとするとすぐにフリーズします。これが私のコードです:

while ループと動きが関係しているのかもしれません... うーん、わかりません

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

c++ - libtcod ルートが台無しになっています

これを実行するたびに、ウィンドウはすぐに閉じて 3 を返します

0 投票する
2 に答える
588 参照

python - Python ローグライク: バックグラウンドの問題

Python でローグライクを作成するチュートリアルに従っていますが、実際にはかなりうまくいっています。ただし、グラフィックに関する小さな問題が発生しました。プレイヤーと敵の背景がすべて黒くなります。これは望ましくありません。背景をどこでもなしに変更しようとしましたが、修正方法がわかりません。誰かがこれで私を助けてくれれば、本当に感謝しています。以下は、この問題を示す画像へのリンクです。

また、役立つ場合は、notepad++ と libtcod を使用しています。

ありがとう。

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

python - python と libtcod: パーリン ノイズを使用して地形を生成する

ここで見つけることができる、世界の生成に関する素晴らしい投稿を見つけました。

何をする必要があるかをうまく説明していますが、Python でそれを行う方法を理解するのに苦労しています。as3で行われたと思いますが、確かではありません。とにかく、パーリン ノイズの libtcod 関数も見つけました。

これを実装する方法がよくわからないので、高さに基づいて文字を割り当てます。

誰かが記事の手順を Python に翻訳するのを手伝ってくれたら、本当に感謝しています。ありがとう

0 投票する
2 に答える
166 参照

c++ - C++: 関数で %i を使用するには?

少し質問があります。関数で %i を使用できますか? これが私がしなければならないことです。関数コールバックがあります:

そして、私はそれをこのように使いたい:

それをどのように実装する必要がありますか、それとも不可能かもしれませんか? 私は何かをしようと最善を尽くしましたが、うまくいきませんでした。:( 私がこれをやりたい理由は、プレイヤーが次のレベルに復讐し、engine.level カウントが ++ になるためです。そのため、プレイヤーのレベルが上がると、さまざまなレベルでより多くの敏捷性を得ることができ、次にレベリングを行うと、彼はいくつ通知されるかを知ることができます。彼が得ることができた敏捷性。

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

c++ - libtcod samples_cpp がこのように実行されるのはなぜですか?

自分のマシン (バージョン 1.5.1) で libtocd dll をビルドしましたが、win32 コンソール プロジェクトで samples_cpp.cpp を実行すると、. 一部のカオス フォントは、添付の図のように表示されます。なぜこれが起こったのか知っている人はいますか?お返事ありがとうございます。

このコードを main function でコメントすると、結果は問題ないことがわかりました。しかし、根本的な原因はわかりません。前の:

====>

新しい:

結果の画像は次のとおりです。 ここにリンクの説明を入力してください

代わりに画像の URL を使用して、画像を投稿する評判が 10 件未満で申し訳ありません。

PS: libtcod dll をビルドする際の葯の問題: zlib-1.2.3 を使用する場合、ヘッダー ファイル zconf.h で、次のように変更する必要があります。

====>

新しい:

それ以外の場合は、コンパイラ出力ヘッダー ファイル unistd.h が見つかりません。