将棋ゲーム制作メルマガ 2007/05/26
// =================================================================
将棋ゲーム制作メルマガ
2007/05/26号 第 9号
Eメールアドレス : dokko9@mail.goo.ne.jp
将棋ゲームPC : http://www.game4pc.com/
// =================================================================
1. はじめに
2007年 5月23日に本メルマガの第 8号を配信した時、自作のソフトに
棋譜再生をすぐに実装するつもりはなかったのですが、昨日、棋譜再生
のコードを入力しました。
動作は確認済ですが、対局中の棋譜再生を抑止する処理が未実装です。
今回は、GUI部分の残作業について。
2. 自作将棋ソフトの GUI部分の状況
2007年 5月 4日に本メルマガの第 5号を配信した時点では、最小限の
機能を実装した将棋ソフトにするつもりでした。
現時点で、第 5号に書いた仕様の大部分は実装しました。
まったく対応していないのは、「早指しの設定」。
「千日手」のチェックは、暫定的に「CSA将棋」と同様のロジックを
採用しています。
一手指すごとに初手から全局面を比較する方式で、確実ではあります
が、性能的には冗長です。
3. GUI部分の残作業
現時点で、残作業として認識している項目は以下の通り。
‐ 対局中の棋譜再生を抑止する処理
‐ 指し手や消費時間などの情報表示
‐ データ構造の見直し
‐ 指定局面作成
‐ 早指しの設定
‐ LAN対応
‐ 盤面反転
‐ 駒落ち対応
‐ 冗長解消
なお、項目は上から優先度順です。
以下、各作業項目について。
3.1 対局中の棋譜再生を抑止する処理
一定の時間間隔で局面を一手ずつ動かすため、タイマーを使用してい
ます。
対局中の棋譜再生や棋譜再生中の対局開始を可能にすると、タイマー
の終了漏れにつながります。
これは、直す必要のある問題です。
タイマーの終了漏れの対処として最も簡単なのは、対局と棋譜再生を
同時に実行できないようにすることです。
面倒ですが、単純作業ですし、近日中に修正予定です。
3.2 指し手や消費時間などの情報表示
指し手や消費時間などの情報表示。
「CSA将棋」に限らず、どの将棋ソフトでも行っていることです。
対応必須でしょう。
「CSA将棋」と同様、盤外(手前の駒台の上部)に情報を表示しよう
と思います。
3.3 データ構造の見直し
将棋盤や駒のデータ構造は、暫定的に「CSA将棋」と同じにしてあり
ます。
100バイト領域内に局面と持ち駒のデータを保持。
思考ルーチン側と GUI側のデータ構造を統一することを検討してみま
す。
でも、データ構造を変更すると GUI側に修正が必要になります。
現状維持の可能性もあります。
3.4 指定局面作成
指定局面作成は、将棋ソフトの思考部をテストするために役立つ機能
です。
詰め将棋ルーチンのテストにも使えそうです。
3.5 LAN対応
世界コンピュータ将棋選手権に参加する場合、現行規定では LAN対応
が必須です。
「CSA将棋」は LAN対応なので、GUIに「CSA将棋」を利用すればよい
と考えていた時期もありました。
でも、現在では GUI部分も自作するのがよいと思っています。
理由は、主として「性能」です。
3.6 早指しの設定
世界コンピュータ将棋選手権の現行規定では、持ち時間 25分。
今年開催された第17回の大会ルールを読んだ限りでは「切れ負け」の
ようです。
思考エンジン自体が早指しなら早指し対応は不要ですが、そうでない
なら、最大思考秒数を対局条件設定画面で指定可能にするなど、早指し
できるようにすることが必要です。
3.7 盤面反転
将棋ソフト同士の対戦では不要な機能ですが、人間がコンピュータと
対戦する場合は有用だと思います。
3.8 駒落ち対応
優先度は低いですが、将棋の初心者のために、あれば便利かもしれま
せん。
3.9 冗長解消
現時点のソースコードは、確実性重視のコーディングで、無駄な処理
を行っている部分があります。
前項までの作業が終わったら、手直しするつもりです。
4. 作業の予定
‐ 対局中の棋譜再生を抑止する処理
‐ 指し手や消費時間などの情報表示
‐ データ構造の見直し
上記作業を 6月一杯で終わらせ、GUI部分の作業は一段落。
次に思考部の設計と試作を行い、思考エンジンのプロトタイプを作成。
このあたりで、指定局面作成機能が必要になると思います。
指定局面作成機能の作業は、思考エンジンの試作と同時期に行うこと
になりそうです。
‐ LAN対応
‐ 早指しの設定
‐ 盤面反転
‐ 駒落ち対応
‐ 冗長解消
上記の 5項目については、思考エンジンの試作が終わってから短期間
に終わらせることを考えています。
でも、難易度は低いので、思考部の設計の合間に気分転換に作るかも
しれません。
大きな開発項目として、他に以下のものがあります。
‐ 定跡ファイルの設計
‐ 定跡編集ツール作成
‐ 並列化
多分、今年後半は思考部の作業が中心になり、定跡ファイルや並列化
については調査だけになると思います。
// ===== 本文おわり ================================================
--------------------------------------------------------------------
このメールマガジンは『まぐまぐ!』 http://www.mag2.com/ を利用して
発行しています。
配信中止はこちら: http://www.mag2.com/m/0000230289.html
発行者 Webサイト: http://www.game4pc.com/mailmag/
--------------------------------------------------------------------


![転職なら[en]社会人の転職情報!転職成功者続出 転職なら[en]社会人の転職情報!転職成功者続出](http://kamogawa.mag2.com/bn/recommend/sya.gif)
![派遣のお仕事探しなら[en]派遣のお仕事情報 派遣のお仕事探しなら[en]派遣のお仕事情報](http://kamogawa.mag2.com/bn/recommend/haken.gif)
![アルバイト探しは[en]本気のアルバイト アルバイト探しは[en]本気のアルバイト](http://kamogawa.mag2.com/bn/recommend/baito.gif)
![就職サイトは[en]学生の就職情報 就職サイトは[en]学生の就職情報](http://kamogawa.mag2.com/bn/recommend/gakusei.gif)
![転職なら[en]転職コンサルタントキャリアを活かした転職に! 転職なら[en]転職コンサルタントキャリアを活かした転職に!](http://kamogawa.mag2.com/bn/recommend/consul.gif)