忍者ブログ

ぐれーすけーるブログ

ゲームプログラミングを独習中なんだぜ☆

↑同人活動☆w
ホームページ☆
『きふわらべ』のダウンロード
は、ホームページへ飛ぶ↑☆

ぐれーすけーる は、ゲーム86パーセントでお送りするんだぜ☆↑押すと最新記事に飛ぶぜ☆



第25回世界コンピュータ将棋選手権1日目に
初出場した『きふわらべ』の記事はこちら↑☆
↑東方二次創作音楽
CD78サークル分買った
積みゲー1本ずつ1ステージだけ
遊んでいく記事は別ブログへ飛ぶ↑☆
秋葉原裏通りの潰れそうなオリジナル同人
ソフト店『さんげっと』の記事はこちら☆

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

現在、新しいコメントを受け付けない設定になっています。

【将棋】めざせ世界コンピュータ将棋選手権☆(69) きふわらべの開発を地味に進めるんだぜ☆ww

2015-03-22 10:56

Grayscale.P025_KifuLarabe.L100_KifuIO.KifuParserA_Impl

というクラスが、ビューとドキュメントを結合してしまっていて 開発の障害なので、

  ・棋譜パーサーA
  ・ビューA

の2つに分けたいんだぜ☆
できはするんだろうが、どうやるのか☆ 今日は やってみるんだぜ☆



まず、いきなり手のひらを返すようだが、 棋譜パーサーA には
ビュー の操作は含まれていない☆

棋譜パーサーAは イベントハンドラー を登録できる仕組みにしてあって、
棋譜パーサーAが動いている最中に 画面上も動くように 拡張できるしかけになっている☆

今回、GUIをクライアント、棋譜パーサーをサーバー、と ぶったぎる計画なので、
棋譜パーサーに、画面を動かすイベントハンドラーは登録できない、ようにする予定☆


棋譜パーサーAに、画面上の操作を入れんな☆ という改造計画なんだぜ☆



では、どのような イベントハンドラー を登録しているのか調べてみたんだぜ☆


  ・新しい局面図が作成された直後

        → 登録: 特に、なにもしない空っぽの処理


消せ☆www


  ・平手初期局面にリセットしたとき

        → 登録: 画面を再描画します


むう☆ 棋譜パーサーA を使うような処理があるんだったら、GUI側は
問答無用で 画面を再描画するように改造しよう☆w


  ・一手進めたとき

        → 未使用


消せ☆www



12:57

ざっくり改造したら
棋譜入力テキストボックスに、2回指し手を入力してしまう制御の流れになって
しまったんだぜ☆

  ・棋譜をパースした直後に    テキストボックスに指し手の符号を追加する☆
  ・画面を再描画するタイミングで、テキストボックスに指し手の符号を追加する☆

パースの直後に 画面操作を実行する作りをやめて、
画面操作をするタイミングを決めておいて、何をそのときやるのか 溜めておく、
という作りにした方が良さそうだな☆ww


14:18

符号が表示されなくなったんだぜ☆ww
見直すぜ☆ww 符号を表示する
  shogiGui.Shape_PnlTaikyoku.SetFugo( ... )
の呼出し箇所一覧☆

  ・Util_InGui#IttesasiPaint
  ・Util_InGui#Makimodosi_Gui
  ・SceneB_1TumamitaiKoma#MouseLeftButtonUp
  ・SceneB_2OkuKoma#MouseLeftButtonUp
  ・WidgetsLoader_KifuNarabe#After_NaruNaranai

思ったよりいっぱいあった☆ww
ここに、
  ・Ui_PnlMain#timer1_Tick
も追加したんだが、

1手指したあとに、再描画がスルーされることがあるな☆ww
タイマーは必ず通るだろうと思って再描画を置いておいたんだが、
タイマーによる再描画は優先順位が低くなるように排他処理をしたので すっとばされる☆ww

これは、空っぽの符号を[コマ送り]することで 再描画をさせることにする☆ww


15:04

で、次は ビュー部分から、こんなの将棋サーバー側でやることだろ、と思う部分を
切り離せるか試してみるぜ☆


独特な仕組みなんだが、

    テキストボックスに符号を入れる。
     ↓
    [コマ送り]ボタンを押す。
     ↓
    棋譜が更新される。

で、1セットになっている☆ これが開発の足を引っ張っている☆ww
いったん、
次のような形に変更したい☆ww


    テキストボックスに符号を入れる。
     ↓
    [コマ送り]ボタンを押すと、符号は 記憶される。
     ↓
    [レシーブ]ボタンを押すと、記憶された符号を使って 棋譜が更新される。



というように、テキストボックスを よそもの にすることで、
[コマ送り]ボタン無しでも 棋譜更新 が進むようにするんだぜ☆
[レシーブ]ボタンさえあればいい、みたいな☆ww


16:47

改造を進めていくと、Komaokuri_Srv メソッドが空っぽのメソッドになっていた☆ww
いつ消した☆ww

中には TuginoItteSusumu_Srv といったメソッドが入っていたはずなのだが☆ww



17:37

消してしまっていたメソッドを復旧させたんだぜ☆

そして、
.exe を参照設定に入れていたという 変なこともやめて .dll を参照設定に
入れなおしたんだぜ☆



17:56

[コマ送り]ボタンを押したあとと、
[巻き戻し]ボタンを押したあとで、
画面の再描画処理が異なる☆wwwww

そろえろ☆www


[コマ送り]ボタンを押したら、入力棋譜テキストボックス の符号が1つずつ消えていって
欲しいんだが、
その機能も なくなってしまった模様☆ww
普及作業なんだぜ☆ww


18:35

[コマ送り]ボタンは修復したんだが、[再生]ボタンは壊れているんだぜ☆
これも直すぜ☆


19:00

[再生]ボタンは動くようにした……んだが 途中で強制終了しているんだぜ☆
なぜなんだぜ☆……(/_\);;


[再生]ボタンはどうやら、棋譜のほとんど全部を再生し終わったあとで
強制終了しているんだぜ☆
直せなかったんだが、対コンピューター は動いているので 先に進むぜ☆


19:19

次☆

駒を進ませる(1手指す)という処理なんだが、

  Ui_02Action#Komamove1a

これも 画面がやるような部分と、将棋サーバーがやるような部分が、いっしょくたに
なっていて 開発の進行を妨げている☆

  ・画面がやるような部分
  ・将棋サーバーがやるような部分

に、ばっさり分けたいと思うんだぜ☆ 2箇所で使われている☆

  ・P200_KifuNarabe.L050_Scene. SceneB_2OkuKoma#MouseLeftButtonDown
  ・P200_KifuNarabe.L100_GUI.  WidgetsLoader_KifuNarabe#After_NaruNaranai



23:27

ちょっぴり 分けた☆

次にやりたいのは、


  ・サーバーに処理を投げる。
  ・サーバーからの返信を待ち続ける。
  ・サーバーからの返事を受け取る。
  ・何か作業を進める。
  ※くり返し


という1セットのプログラミングを、何個も連続させる、といった
処理の流れへ改造したいんだぜ☆

実現の仕方としては、タイマーを使う方法がある☆


タイマー(100ミリ秒毎)

  state = 1 のとき
    処理A
  state = 2 のとき
    処理B
  state = 3 のとき
    処理C


といった作りにしておいて、処理が終わるたびに state の数字を変えていくんだぜ☆



とりあえず、 P200_KifuNarabeプロジェクトに L051_Timed フォルダーを
掘っておいたんだぜ☆
今後、このタイマーを使ったプログラムに置き換えていくぜ☆




. ほっほー☆ GUIと将棋サーバーに分ける作りを進めていると、1本のプロシージャだったプログラムが、メインループ回してwait置いて、state変数のswitchで状態遷移しまくるゲーム風プログラムに大改造なんだぜ☆wwwww こうなるのか☆ww


. GUIをゲームエンジンAIMSに置き換えれば楽できるぞ、と思ったんだが、置き換えるために一旦、ゲームエンジンAIMSに置き換えられる構造にしてから 置き換えよう、とやり始めたら多分これ ゲームエンジンSHOGISみたいなものを作るはめになってるな☆wwwww




微速微進 寄り道 遅々前進☆! なんだぜ☆wwww


拍手[0回]

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

ブログ内検索

PR



絶版・品切れ本を皆さまからの投票で復刊させる読者参加型のリクエストサイト
復刊ドットコム

ネイフィールウォーター

応援フリーエリア

デジゲー博
むずでょは、第1回から毎年 出展しているんだぜ☆

ウサギのように新品入荷☆
カメのようにまだ置いてある既刊☆

同人ソフト一押し店 さんげっと
むずでょは、さんげっと を応援しているんだぜ☆

TVアニメ「Charlotte(シャーロット)」公式サイト
ニコ生の Angel Beats! 一挙放送が 面白かったので次のも応援するぜ☆ww

プロフィール

HN:
むずでょ
性別:
非公開

最新コメント

[01/02 Free Tax Marlboro Gold Regular Cigarettes Coupons 3 Cartons]
[12/30 Hot Selling Newport Regular Cigarettes Outlet 160 Cartons]
[12/29 http://www.patersonlabs.com/Marlboro/41.html]
[12/29 http://xz84.com/Marlboro/16.html]
[12/29 http://www.paragoninks.co.uk/Marlboro/93.html]

P R