1

私はProcessing(簡略化されたJava言語)でいくつかのチェスエンジンを作成し、Webサイトで作成したいと考えました。JavaScriptを取り入れることが最も明白なことだと思いますが、始める前に他のオプションがあるかどうかを知りたかったのです。私はウェブのために処理集約的なものを作ったことがありません。

私は周りを見回しましたが、C ++をどういうわけかWebコードで動作させることができるようですが、私はそれを行ったことがなく、それについてあまり知りません。JavaScriptでの描画やC++での移動生成など、集中度の低い作業を行うことは可能ですか?より良いオプションはありますか?

編集処理(言語)を太字にして区別します

4

3 に答える 3

1

これをどのように設計するかによって異なります。

サーバー側のサポートなしで実行したい場合は、JavaScriptにかなり制限されます。(確かに、既存のJavaコードとライブラリを実際にホストすることはできます。Javaアプレットとして、またはFlashや別のプラグインとして利用できますが、特にHTML 5などを考えると、JavaScriptに焦点が当てられます。)

それ以外の場合は、JavaScriptを使用してUIやその他の要素を実装し、AJAXを使用して大量の処理をバックエンドサーバーに伝達/オフロードすることができます。(この時点で、基本的に、Webサイトで使用するチェスエンジンをホストする必要があります。)

于 2013-02-24T06:24:34.053 に答える
1

クロスブラウザのクライアント側ソリューションを探している場合、ビューアのブラウザでC++を使用する単一のクロスブラウザの方法はありません。クロスブラウザソリューションは、javascript(推奨)、java(デスクトップでは段階的に廃止され、通常はモバイルでは使用できません)、およびAdobe Flash(モバイルでは使用できません)で構成されています。

すべてクライアント側で使用したい場合は、クライアント側のjavascriptで記述し、個別の実行スレッドであるWebworkerで可能な限り多くの処理を実行することをお勧めします。これらの個別のスレッドは必要なだけ計算を行うことができますが、実際にDOMを変更したり、ユーザーと対話したりするには、メッセージングを使用してメインのjavascriptスレッドと通信する必要があります。


または、ブラウザーWebアプリとして、サーバー上のチェスロジックをC ++または使用するサーバー側の言語で維持し、クライアント側のAjax呼び出しを使用して、サーバーに次の移動の計算を依頼することができます。

于 2013-02-24T06:25:17.263 に答える
1

あなたが望む任意の言語でチェスエンジンを書いてください。チェスエンジンと通信するためのインターフェースを作成するか、既存の標準的なチェスエンジンインターフェースを使用することをお勧めします。次の2つの「標準」インターフェースのいずれかを使用します

http://en.wikipedia.org/wiki/Chess_Engine_Communication_Protocol http://en.wikipedia.org/wiki/Universal_Chess_Interface

チェスエンジンを完全にデバッグし、それに満足したら、完全に独立した問題として、チェスエンジンのWebUIを作成するという問題に取り組むことができます。選択した中間層によって、チェスエンジンサーバーとWebサーバー/Webサイト間の通信を実行できます。そのようなオプションの1つは次のとおりです。

http://en.wikipedia.org/wiki/Ajax_(programming)

さらに、標準のチェスインターフェイスを使用している場合は、独自のチェスエンジンを、選択したインターフェイスを満たすサードパーティのチェスエンジンに交換できます。

于 2013-02-24T06:27:02.480 に答える