問題タブ [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.
c++ - その定義内のクラス変数?
これはおそらくばかげた質問です。私はテキスト泥を作ろうとしています。各Roomクラスには、移動したり情報を取得したりするときに参照できる他のRoomクラスが含まれている必要があります。しかし、私は明らかにその定義内でクラスを宣言できないため、それを行うことはできません。だから、どうすればこれを行うことができますか?これが私がそれをすることができないと言うとき私が意味することです:
telnet - コンソール プログラムをネットワーク経由で共有するにはどうすればよいですか?
Linux で単一のアプリを共有するためのある種の TELNET デーモンを探しています。
BBS/MUD を作成しましたが、ネットワーク ルーチンはありません。Citrix XenApp が GUI/Windows アプリで機能するように、アプリを「共有」する方法を探しています。コンソール モードのアプリケーションでこのようなサーバーを使用したことは覚えていますが、名前とインターネット アドレスを思い出せません。
c++ - c ++で単純なティックベースのエンジンを実装するには?
私はテキスト ゲームを書いていますが、単純な戦闘システムが必要です。MUD のように、コマンドを発行すると、たまに「ティック」が発生し、それらすべてのコマンドが実行されると、プレイヤーとモンスターがダメージを与えます。起こります。そのコンセプトをどのように実装しますか?最後のティック時間を保持する変数と、イベントをスタックに置き、その時間が (時間 + x) になるとそれらをすべて同時に実行する関数を作成することを考えました。それを行うためのより簡単でクリーンなバリアントはありますか?
そのために可能な構文は何ですか?
c# - このコードはどのように機能しますか?(MUDサーバーバッフルの話-ry)
このWebサイトで単純なMUDに拡張することを目的として記述された、マルチスレッドチャットサーバーを確立するサンプルコードを見つけました:http://bytes.com/topic/c-sharp/answers/275416-c-mud- telnet-server
スレッドはかなり古いので、そこで質問することはできません。そこで、stackoverflowの親切な人たちに何かを説明してもらうことにしました。
MUDを作成する前に、上記のコード(開始するためのベースとして使用する予定)がどのように機能するかを理解したいので、別の動作が必要な場合は基本アーキテクチャを変更できます。しかし、私が理解していないのは、接続の独自のArrayListをインスタンス化する各接続で新しいスレッドを開始する方法です。これは、それ自体を追加するだけで、他のユーザーと通信します。
スレッドがどのように機能するかなどの基本的な理解が不足していると思いますが、そのコードをどれだけ見つめても理解できません。
よろしくお願いします、HJD
c++ - accept() への不適切な呼び出しの処理に関する懸念
私は個人的な学習目的でMUDサーバーを作成していますが、幸いなことに、ソケットのものをいくつかのクラスにまとめることができ、すべてが正しく機能しているように見えます。サーバーは接続をリッスンして受け入れ、現在クライアントからテキストを取得してすぐに送り返します。
問題は、WSAEWOULDBLOCK または有効なソケット以外の何かを返す accept() の呼び出しをどうするかよくわからないということです。新しいソケットを 0 にリセットして戻るだけで、何か問題が発生したというエラー メッセージが表示されるのでしょうか? これは私が現在行っていることですが、20回発生した場合はサーバーをシャットダウンします.
TopSocket と NewSocket は SOCKET 型で、ファイル スコープで宣言されています。SocketList は MUDSocket* の std::list であり、MUDControlSocket は MUDSocket からシングルトンとして派生します。
さらに情報が必要な場合はお知らせください。ご協力いただきありがとうございます。
java - テキストベースのクライアントサーバー接続を管理する最良の方法は何ですか?
複数のクライアント接続を処理し、ゲームの状態に永続的に影響を与える小さなクライアント サーバー ベースのテキスト ゲームを作成しようとしています。コマンドがサーバーに到着した順序で処理されるように、複数の接続を処理する最善の方法は何だろうと思っています。
理想的には、少なくともコマンド処理レベルでは、マルチスレッドを利用するつもりはありません。その後、単一のスレッドで処理を統合できる限り、各クライアントが個別のスレッドを持っていても (各スレッドで IO をブロックするため)、問題ありません。
クライアントとサーバーの間の唯一の通信はテキストであるため、通信をセットアップする最善の方法がわかりません。ブロック IO を選択した場合、単一のスレッドで処理をキューに入れるにはどうすればよいでしょうか?
または、ノンブロッキング IO を選択し、セレクターを使用して、クライアントがサーバーに書き込みを行ったときにクエリを実行する場合、セットサイズの ByteBuffer を使用せずに、長さが不明/無制限の文字列を読み取るにはどうすればよいでしょうか? ノンブロッキングは、クライアント接続が新しいデータを送信するときにクライアント接続から読み取ることができるため、処理を単一のスレッドに保持することにも有利です。ただし、読み取り/書き込みUTFで実装しようとすると、IllegalBlockingModeException hehに遭遇しました。
私が言及していない方法でこれを行う方法に関する質問や提案への回答は、心から感謝します! 私はクライアントとサーバーにかなり慣れていないので、java.io と java.nio のどちらが最も適切かわかりません。
複雑な質問で申し訳ありません。自分で逃げたと思います。
language-agnostic - 需要と供給に基づいて価格を調整する簡単な公式
マーチャント NPC を使用した RPG/マッド ゲームを設計しており、需要と供給に基づいて価格を動的に調整したいと考えています。
私がすでに理解していること:
- 複雑な「現実的な」システムは必要ありませんが、統計データに基づく単純な乗数だけが必要です
- 私は、アルゴリズムが乱用やプレイヤー人口の少ないサイズに耐えられるようにしたいので、乗数はおそらく動的に生成されるべきではなく、他のマーチャントデータとともに保存され、数日に1回更新されるべきです
- したがって、必要な統計データは少量である必要があります。多くの NPC が存在し、それぞれに独自のアイテム リスト、価格、および統計情報があります。そのため、ゲームの世界の発展に伴ってサイズが急速に大きくなる可能性があります。
問題は次のとおりです。この種の乗数に「最適な」式はどのようなものでしょうか?
免責事項:
- これは需給モデリングに関連しているように見えるかもしれませんが、ライブラリは必要ありません。自分で行う方法に関するいくつかのヒントです。
- この問題をシミュレートする経済モデルがすでに存在する可能性があることは承知していますが、私は経済学を勉強したことがないので、何を探すべきかさえわかりません。
- いいえ、これは宿題ではありませんが、おそらく宿題のように聞こえるので、タグを追加します:P
parsing - カスタムプログラミング言語: どうやって?
願わくば、この質問が複雑すぎたり、あいまいすぎたりしないことを願っています。私は自分の頭の中で何が欲しいかを知っているので、指を交差させてテキストでこれを理解することができます.
独自仕様の構文を持つ言語を探しているので、自分で作成する必要があると思います。ここ数日、コンパイラ、レクサー、パーサー、アセンブリ言語、仮想マシンなどについて読んでいましたが、目標を達成するために必要なものに関してすべてを整理するのに苦労しています (ファイルの最後に添付されている一部仕様)。基本的に、先に進むために具体的にどのツールを使用する必要があるかについて、私はひどく混乱しています。
ちょっとした背景: 作成された言語は、マルチプレイヤーのテキストベースの MUD サーバーを実装するために使用されることを願っています。したがって、クライアントの TCP/IP 接続、ノンブロッキング IO、SQL などを介したデータベース アクセスを作成/維持するための簡単な組み込み機能が必要です。セキュリティにも関心があります。この言語用に書かれたコードが盗まれて、専門のソフトウェアを使わずに一般大衆に使われることを望まないからです。これはおそらく、オブジェクト コードにコンパイルする必要があることを意味します。
では、これらの仕様に適合する言語を作成するための最良のオプションは何ですか
私の結論は以下です。これは私の最善の知識に基づいた推測に過ぎないので、私が間違った方向に向かっていると思われる場合は、私に異議を唱えてください. 専門家がコメントをしに来たとき、私がどれほど混乱しているかを確認するために、これを含めているだけです.
コードのセキュリティのために、コンパイルして仮想マシンで実行できる言語が必要です。こうなったら、めちゃめちゃ仕事が増えるじゃないですか。既存のモジュールを使用するのではなく、下位レベルで仮想マシン、アセンブラー言語を作成し、次に上位レベルでコードライブラリを作成して、IO、ソケットなどを自分で処理しますか?
私はただ混乱しています。
私が理にかなっているのかどうかはわかりません。
少しでも私の頭を落ち着かせてくれる方がいらっしゃいましたら、よろしくお願いします!または、私がコースから外れていて、これを行うためのより簡単な方法がある場合は、お知らせください!
c - MUD プログラミング言語
私は 1 年以上、断続的に MUD ゲームをプレイしています。私は自分自身の開発を学ぶのに最適なコンピューター言語を探して、インターネットを探し回っています。これまでのところ、私は C しか思いつきませんでした。C はこのアプリケーションのために学ぶのに最適な言語ですか、それとももっと良い言語がありますか?
SMAUG が C で書かれていることは知っていますが、それは何年も前のことです。私は一般的にプログラミングが初めてで、Python の経験があります。私は Aardwolf をプレイしています。これにより、ユーザー (特定のレベルの後) は自分のエリアを作成できます。ユーザーは Lua を使用してこれを行います。Lua は「スクリプト」言語であるため、これは私にとって興味深いものでした。これは別の質問です。ゲームのフォーマットを C (または他の何か) で構築しますが、スクリプトで世界を作成しますか?
また、これは友達だけのゲームなので、オンラインでホストするわけではないので、直接接続が必要になります。それで、もう一度、この世界に飛び込んで、これをペットプロジェクトとして使用して、プログラミング言語の学習にも役立てたいと思います...しかし、将来的にそれを拡張できるようにするのに最適なのはどれですか?
PS - 私が見て勉強できるオープンソースコードはありますか?
c++ - .makファイルを作成する方法は?
1999年に作成されたプロジェクトのsrcがあります(実際にはMUD SoG '99です)。SOG.MAKというファイルがありますが、このプロジェクトの作り方に関するデータが見つかりませんでした。誰かが私にそれを作る方法のヒントを教えてもらえますか?
プロジェクトのsrcリンク:http ://www.ianshirm.net/index.php?option = com_remository&Itemid = 53&func = fileinfo&id = 1370
SOG.MAKのコンテンツは以下のとおりです。