問題タブ [mud]

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

python - Python マルチ ユーザー ダンジョン (MUD) コマンド

私は MUD-PI を使用してマルチユーザー ダンジョンを作成しようとしてきましたが、[モンスター] を殺すようなものにしたい戦闘コマンドの作成に行き詰まっています。たとえば、トロールを殺すようなものです。

コマンドのコードは次のとおりです

これが私の部屋のコードです。

そして私のモンスターコード。

kill コマンドを試すと、このエラーが発生します。

これを行うためのより良い方法があるかどうかを知りたいです。

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

python - Python 泥装備コマンド

泥を作ろうとしていますが、装備コマンドを作成しているときにこのエラーに遭遇しました。

ユーザーが剣を装備できるようにコードを修正し、インベントリでそのアイテムを検索して統計を適用できるようにします。

これが私のアイテムコードです

ここに私のプレーヤーコードがあります

そして最後の装備コマンドコード

意味をなすためにさらにコードを追加する必要があると思われる場合は、教えてください。

編集:問題がどこにあるかを見つけたと思いますが、それを修正する方法がわかりません。それはtakeコマンドにあり、インベントリに追加されていると思います。それは文字列として追加されています。方法はわかりませんこれを修正

ここにコードがあります

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

c# - グリッドベースのマップを作成するには?

C# で次のようなマップを作成しようとしています。

(0,0)(1,0)(0,1)およびに部屋がある単純なグリッド(1,1)

私はこれを試してみましたが、ここに例があります https://dotnetfiddle.net/3qzBhy

しかし、私の出力は次のとおりです。 [ ]|||| [ ]

理由がわかりません.ToString()し、 StringBuilder を呼び出すと改行などの書式が失われるかどうかもわかりません。

座標を保存する方法を見つけるのにも苦労しました

roomList.Add(0,1)キーとが既に使用されているため、とroomList.Add(1,1)は重複しています。座標のリストを保存するにはどうすればよいですか?01

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

java - Java でのテキスト アドベンチャー/インタラクティブ フィクション

自分ではわからない質問をしたり、グーグルで調べたりしても、見落としていないことを願って、アカウントを作成することにしました。

基本的に、私は Java でテキスト アドベンチャー ゲームを作成しようとしていますが、オブジェクトのアイデアですべてをどのように関連付けるべきかを理解するのに少し苦労しています。XML スタックスを使用してファイルをプログラムに送信し、属性などを使用して、ユーザーがオプションに関連付けられた整数を入力できるようにし、オプションが「項目」を必要とするかどうかを確認することに成功しました。アイテム。ただし、これには OOP を使用しませんでした。

整数だけではなく、ユーザー入力の文字列を取り込んで、配列リストが存在する場合は配列リストと照合できる新しいプログラムが必要です。これは、ほとんどの人がよく知っているクラシックな MUD に近いものです。

モジュラー方式で設計したいので、ゆっくりとアイデアを追加したり、複雑さを増したりできます。そのため、「うまく機能するので放っておきましょう」というアプローチも必要ありません。

現在、私は単にこれに近いものが欲しいです:

ID、説明、および対話可能な Choice オブジェクト (これはよくわかりません) を持つ Room オブジェクト。出口と対話可能なオブジェクトの両方で、各部屋の可能な選択肢を保持するオブジェクトを作成することを考えました。

その場合、ルーム オブジェクトには Choice オブジェクトが必要な場合があります。

よく考えて、いくつかのコードを試して、もう一度考え直しましたが、毎回、必要以上にハードコーディングを終わらせ続け、必要だと思うよりも多くの変数を作り続けています。私の考えには決定的な何かが欠けています。

また、これらの部屋は、コードで生成されるのではなく、入力されたファイルを介して作成されることを望んでいます (基本的に、コードは、1 つではなく、任意のタイプのストーリー リーダー/クラフターです)。

私もこれをあまりにも長く試みており、私の解決策は悪化していますが、以下は大まかなアイデアに対する私の最近の試みです:

userInput を受け取り、それを渡す前にそれをチェックする GameManager クラス。アプローチがわからないため、データを渡していません。また、私は正規表現に慣れていないので、その一部も間違っている可能性があります。もしそうなら、それを指摘するかもしれませんが、それは私の焦点では​​ありません

私がそのように考えた Room オブジェクト:

非常に多くの変数で非常に多くの方向を述べる必要がないようにするにはどうすればよいですか?

これは私が考えたオプションクラスの簡単で大まかなアイデアですが、私はすでに間違った方向に行きすぎていると判断しきれませんでした

これを入力するまでアドベンチャータグが表示されなかったので、そこから熟読し始めますが、まだこれを投稿します。これに対する良い答えがあり、まだ見つけていない場合はお詫びします.

要約すると、いくつかのオブジェクトを関連付けて、出口、説明、および相互作用を持つ部屋オブジェクト (ファイル (XML は私が使用していたもの) から情報を取得する) を作成するための良い方法は何でしょうか。ユーザーは、自由に入力できるこれらのキーワードに基づいて対話し、配列の保持キーワードのインデックス値に限定されません。

ユーザーが「北への旅」のようなものを入力して、最初にキーワードを入力したかどうかを確認します。この場合は旅行で、次に方向です。次に、他のどこかで旅行が記載されているかどうかを確認し、可能性のある北出口で北を確認します部屋にある場合とない場合があります。次に、check のような別のキーワードの場合、簡単にするために、まったく同じ方向を持ちますが、別の文字列をチェックします。

次に、部屋「northExit」が存在する場合は、別の部屋 ID へのポインターを使用して、何らかの方法でオプションを取得します。しかし、この思考プロセスは、次の部屋に行くためにアイテムを必要とする将来の可能性について考えるときに問題を引き起こします. また、これらのオプションを保存/取得する場所がいくつかの問題を引き起こしています。