スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 46が47になっていた | トップページ | 1Pass目が完了 »

MRWorkerの互換性

今は、MasterReversiの次バージョンを開発中で、バグ出しと問題点の修正を行っているのだが、本体の修正は完了した。なので、引き続き、MRWorkerとMRSolverの修正作業に入った。これらは、修正しなくても良かったのだが、本体のコードを適用すると修正が必要になる。

MRSolverというのは、リバーシ用の終盤解析ツールなのだが、リバーシエンジン部分については、MasterReversiのソースコードをそのまま使っている。

と、いうか、そもそも論としては、MasterReversiのリバーシエンジン部の変更を行った場合には正常性確認だとか性能検証が必要になるのだが、その為に、一々、GUIのMasterReversi本体を使っていると大変なので、作成したモノ、という事になる。

なので、今回、MasterReversi本体については、Unicode化を行うにあたって、リバーシエンジン部のコードも、本質的な所ではないのだが、変更したので、そのコードをMRSolverに適用すると、MRSolverの内部インタフェース的にも、若干の対応が必要になる訳だ。

MRWorkerについても、リバーシエンジン部の処理コードは複雑なので、MRSolverで検証されたコード、つまり、MasterReversi本体と同一のソースコードを使う事で、信頼性を確保している。

なので、MRWorkerについても、MRSolverと同様に変更が必要になっているのだが、対応が面倒なので、今回、実質的な弊害が無い筈の部分で、従来版との互換性を無くした。

具体的には、MRWorkerとMRWorkerコンフィグレーションはメモリマッピングを使って通信しているのだが、その通信内での文字コードを従来のマルチバイト文字セットからUnicode文字セットに変更した。

これは何を意味するのか、というと、従来版のMRWorkerと次バージョンのMRWorkerコンフィグレーションは正しく通信できなくなる。同様に、次バージョンのMRWorkerと従来版のMRWorkerコンフィグレーションについても同様だ。

もっとも、次バージョンのMRWorkerをインストールする為には、従来版はアンインストールする必要があり、次バージョンをインストールすれば、整合性がとれたMRWorkerとMRWorkerコンフィグレーションがインストールされるので、実質的な問題は無い筈な訳だ。

MRWorkerの本業である所のMasterReversiとの通信については、互換性は確保してあるので、次バージョンのMRWorkerは従来版のMasterReversiに対してサービスする事が出来るし、次バージョンのMasterReversiは従来版のMRWorkerと接続して利用する事もできる。

また、MRWorkerのインストールフォルダーに保存されるMRWorker.confファイル、つまり、設定の保存ファイルについても、互換性を確保したので、まず、そんな人はいないとは思うのだが、従来版で作成したMRWorker.confファイルを次バージョンで利用する事も可能ではある。

ちなみに、今日の時点では、MRSolverの対応は完了していないのだが、完了すると、従来版との性能比較を行う事になる筈だ。

今回の変更では、リバーシエンジンの本質的な部分に対する変更は一行も行っていないし、評価データの変更もない。

なので、従来版と同一性能が出れば合格なのだが、コンパイラーは変わっているので、ひょっとして、従来版よりも高速になってくれていれば良いなあ、と、思ったりしている今日この頃だ。

= この記事に関連する公開中ソフト =

MasterReversi

MasterReversi

(2016/05/04追記)

« 46が47になっていた | トップページ | 1Pass目が完了 »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/63489133

この記事へのトラックバック一覧です: MRWorkerの互換性:

« 46が47になっていた | トップページ | 1Pass目が完了 »

2017年12月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google