忍者ブログ

ぐれーすけーるブログ

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

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

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



第25回世界コンピュータ将棋選手権1日目に
初出場した『きふわらべ』の記事はこちら↑☆
↑東方二次創作音楽
CD78サークル分買った
No image
(↑終了)
秋葉原裏通りの潰れそうなオリジナル同人
ソフト店『さんげっと』の記事はこちら☆

[PR]

×

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

【将棋】めざせ世界コンピュータ将棋選手権☆(44) 自分で作っていて忘れているのだが、棋譜並べモードと、vs COMP対局モードとでは 違うプログラムを作っている☆

2015-01-26 22:59

うっ☆ うっ☆ うっ☆

ぜんぜん 設計書 書いてないので、自分が忘れている☆ww


vs コンピューター対局モードでは、
将棋エンジンから「8c8d」(*)のように 指し手が送られてくるので、
GUIのタイマーがそれをキャッチしたら[コマ送り]ボタンを押してるだけなんだぜ☆

 *8三の駒を、8四に動かす。 初期平手局面から見れば△8四歩。



23:09

コメントを修正したんだぜ☆

        /// <棋譜読込用><マウス入力非対応>
        /// 
        /// 「棋譜並べモード」と「vsコンピューター対局」でも、これを使いますが、
        /// 「棋譜並べモード」では送られてくる SFEN が「position startpos moves 8c8d」とフルであるのに対し、
        /// 「vsコンピューター対局」では、送られてくる SFEN が「8c8d」だけです。
        /// 
        /// それにより、処理の流れが異なります。


23:41

だいたい、なんで こんなバグになるんだぜ☆? 原因が分かれば直せるはずなんだが☆



32番の歩を取ったのに、39番の歩を駒袋に送りこんでいる……、ということは無い☆

SFEN には、そういう情報はないんだぜ☆


SFEN→局面
変換時、

おそらく、9個の先手の歩、8個の後手の歩は将棋盤上にあって、
歩は1個だけ 持ち駒になっている、という展開の仕方をしたから
こうなっていると思うんだぜ☆



平手初期局面の 18番目の歩は 9三 に置いてある、といった決めうちを
やめる必要があるな☆

持ち駒の歩は、何番目の歩なのか、SFENには情報がない☆


「取った駒は、属性を駒袋に変える」ではなくて、
「駒袋置き場にある駒は、属性を駒袋に変える」
というプログラムに変えることで 解決しそうな気がするんだぜ☆




拍手[0回]

PR

【将棋】めざせ世界コンピュータ将棋選手権☆(43) 局面データを、オブジェクトから SFEN形式文字列へ変更したいのだが☆

2015-01-25 15:36



後手の歩が 全部ひっくり返ったり、
盤の上ではなく 駒袋の中にしまわれている、という意味を伝える画面表示になっている☆

データが間違っているのか、データと画面表示の連携が取れていないのか、
まだまだ バグ取りだぜ☆



17:27

調べてみたんだが、

わたしのプログラムは、2三の歩は「駒32番」、3三の歩は「駒33番」と番号が付いていて
駒台の上にある歩も、「駒32番」と「駒33番」は区別している☆

しかし、SFENの文字列にすると、駒は「P1」(歩が1個)のように
どの駒だったのか、という情報は失う☆

すると描画プログラムと連携が取れなくなるみたいなんだぜ☆




18:03

棋譜入力欄に「position 9/9/9/9/9/9/9/9/9 b - 1 moves 」と入力して[コマ送り]ボタンを押すと
反応がないんだぜ☆


KifuParserA_StateA1b_SfenLnsgkgsnl( ) 関数で、
「lnsgkgsnl/1r5b1/ppppppppp/9/9/6P2/PPPPPP1PP/1B5R1/LNSGKGSNL w - 1」
といった文字を解析するようにしてあるんだが、
解析したあとの結果を 画面と同期していないんだぜ……☆

「9/9/9/9/9/9/9/9/9 b - 1 moves 」と入れると、「moves 」という文字が残る。


Ui_01MenuB # RefreshSiteiSky_Im( ) には、SFENの駒配置を解析した結果が
引数で渡されるので、棋譜を変更しなければならない☆
が、仕事してない☆


18:34



「position 9/9/9/9/9/9/9/9/9 b - 1 moves 」と入れて、[コマ送り]ボタンを押したところだぜ☆

全部の駒が、盤上にも駒台にもなく、駒袋に入ったんだぜ☆
この動きは 合っている☆


18:38

飛車先の歩を付くと、次のような SFEN になるんだぜ☆



「position lnsgkgsnl/1r5b1/ppppppppp/9/9/7P1/PPPPPPP1P/1B5R1/LNSGKGSNL w - 1 moves 」

出力は合っている☆



18:51

クリアーボタンが壊れていたので修正した☆

駒台に置く、という動きだぜ☆

出力されるSFENは、「position 9/9/9/9/9/9/9/9/9 b K1R1B1G2S2N2L2P9k1r1b1g2s2n2l2p9 1 moves 」
だぜ☆
うむ、合っている☆ww



18:56

調べてみると、初期配置ボタンも データと画面の同期が壊れていたので修正した☆ww



出力されるSFENは「position lnsgkgsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL b - 1 moves 」だぜ☆

うむ、合っているな☆



19:12

駒の「向き」を変えるボタンも データと画面の同期が壊れていたので修正した☆ww



出力されるSFENは「position lnsgkgsnl/1r5b1/ppppppppp/9/9/9/PPPPpPPPP/1B5R1/LNSGKGSNL b - 1 moves 」だぜ☆

これも合っている☆



19:29

[成る]ボタン、[成らない]ボタンも、データと画面表示の同期が壊れていたので、
これは作り直した☆ww 直ったのだろうか☆ww



出力されるSFENは「position lnsgkgsnl/1r5b1/ppppppp+Pp/9/9/9/PPPPPPP1P/1B5R1/LNSGKGSNL w P1 1 moves 」だぜ☆

とりあえず、「+P」と出ているので「成り」には対応できているだろう☆ww



19:46

SFEN文字列を、局面オブジェクトに変換するメソッドは、
StartposImporter # ToSky() なんだが、普段これは使ってなくて、
別のどこかで 変換しているみたいなんだぜ☆

KifuIO_Executer # ExecuteSfen_FromTextSub ( ) と機能が被っている気がするんだぜ☆

1つに統合したい☆ww



StartposImporter クラスは、SFENの初期配置の文字列解析だけを担当している☆

SfenStartposFingerdata クラスは構造体だぜ☆
升の数だけ要素がある配列に、駒文字が入っている☆
また、持ち駒や、無い駒の数のカウントを 記憶しておく☆



20:11

現行の局面オブジェクトなら バグらないのだが、
「SFEN文字列」に変えると、「駒を取ったときの処理」でバグるんだぜ☆



原因や 場所が 絞り込めてきたんじゃないか☆?



20:55

オー ノー☆



将棋盤で棋譜を並べるときと、対コンピューター戦を遊ぶときでは 処理が異なる☆ww

うむむむむ☆ だから いくら調べても見つからなかったんだが、
対コンピューター戦のときにバグは 別の場所が動いているのか☆wwwwww


むっきー☆wwwwwwwwww








拍手[0回]

【将棋】めざせ世界コンピュータ将棋選手権☆(42) [巻戻し]ボタンがバグっている☆ww

2015-01-24 12:43

きふわらべには、棋譜の[コマ送り][巻戻し]ボタンが付いているのだが、
今日動かしてみると 壊れていることが分かった☆ww

改造をいっぱいしたから 壊れたのだろう☆


13:28

調べてみると、データは壊れていないんだが、
「画面上のここに表示する 」という1ステップが抜けているみたいなんだぜ☆


14:04

直した☆ww



16:35

  似たようなことをする関数が2つあるんだが なんで2つ作ったのか覚えてないんだぜ☆

    ・Util_Sky.Reset_ToHirateSyokihaichi( )
    ・SyokiHaichi.ToHirate( )

  1つにしたい☆ww

17:44
  1つにした☆ww



17:44
  PaintingSky というプロパティーが悪さをしているようなのだが
  調査中だぜ☆



22:52
  棋譜パーサーの中で 局面の切り貼りをしているんだが、
  新しく作った局面は、GUIにも教えてあげないと 画面に反映されないんだぜ☆


  RefreshSiteiSky_Im メソッドの中で、受信した棋譜を見て
  新しく指された局面を読取たいのだが……☆
  呼び出されていないようだぜ☆

  「7a6b」という4文字は受信している。△6二銀だぜ☆
  私の将棋盤の升番号では 54→46☆

23:10
  KifuIO.Kifusasi25( ) の中で Util_KifuTree.CreateNodeA( ) している☆
  この新しく作った局面を GUI に伝えたいんだぜ☆


  さかのぼって源流から見ると、
  「"7a6b"受信」→「Ui_01MenuB#ReadLine_TuginoItteSusumu( )」
  になっていて、

  ReadLine_TuginoItteSusumu( ) の中で棋譜パーサーを使って、
  指された局面を作り、これを棋譜ツリーに追加している。
  そのことは GUI は教えてもらってないんだぜ☆


23:20
  Execute_Step( ) が、 out Kifu_Node してくれればいいと思う☆

23:58
  Kifusasi25( ) が作っているノードは、現局面のコピー。
  まだ一手指してない局面。

  Kifusasi52_WhenKifuRead( ) の中で、駒を移動させている。


0:18
  KyokumenWrapper.Kyokumen は出力値なので編集できない。

0:42
  局面データは ステートレス にした方がいい。
  getした後は setする。

3:07
  2g2gのように移動先が、移動元と同じという、
  アップデートされてないバグが出たんだぜ☆

4:49



ここを変えると、バグったり、直ったりするんだぜ☆ メモしておくぜ☆



2015-01-25 6:50



ローカル変数に コピーを作って入れて、使っていたら、
関数の途中で 大元が変更されているのに気づかなくて 古くなっていることもあるのか☆




拍手[0回]

【将棋】めざせ世界コンピュータ将棋選手権☆(41) 作っている人は7級に昇級したんだぜ~☆ww

2015-01-19 23:06

今日の将棋道場は 上の方まで部屋が光っているな☆w 対局があるのかもしれない☆w




今日は トーナメントに出たんだぜ☆

対局相手が6枚落ちで、悪い気がしたんだぜ☆
  「強い、少なくとも8級ではない」
  「最近道場きたんで☆ww」

しかし やはり 指し手がなくなったときに歩を突く癖があって
空いた自陣のスペースに 歩を垂れられて と金 を作られて負けた☆

・ ・ ・

昇級したんだぜ☆w 8級→7級




記念撮影なんだぜ☆ww




コンピューターを いじっている時間がない☆ww

あー☆ でも 世界コンピュータ将棋選手権の参加費 1万円 を
郵便局に振り込んだんだぜ☆ 進捗ありなんだぜ☆ww

参加費は ぎりぎりの高さという感じなんだぜ☆ まあそれぐらいの価値はあるし
面白そうなんで払う、 という感じだぜ☆




今日のまめちしき☆

  ・6枚落ちの後手が 2筋から金で上がってきたら 棒銀で
   押しかえすべき☆ww

  ・しょっぱな こっちの金と、相手の銀の交換なら 応じていい☆ww
   損得にビビって
   かなゴマを自陣に引いて窮屈にするぐらいなら 突き捨てるべし☆wwww



拍手[0回]

【将棋】めざせ世界コンピュータ将棋選手権☆(40) 今週は将棋道場ばっかり☆ww

2015-01-18 12:44

4連勝☆ww



まめちしき

  ・矢倉は固い☆

  ・自陣に と金 を作られると わたしは負ける☆ww

  ・仕事をしていない飛車、そっぽに出かけている角には
   相手の王の逃げ道ぐらい睨むように しつける☆ww

  ・香落ちのとき 矢倉に組むと死ぬ☆www

  ・矢倉のとき 先手から見て 6筋に 後手の飛車が回ってきたら
   8一の桂がぴょんぴょん跳ねてきて 7七銀を吊り上げて
   2二の角が 王に刺さって 死ぬ☆www

  ・後手 2一の桂が跳ねたら 端攻めをねらうべき☆wwwww



2015-01-18 18:45



改造を進めていると、突然 バグる☆ww
1一、2一、8一、9一 の駒が成っているので、1段目が成るバグかと
思ったら 銀は成っていない☆ww わからん☆ww


18:55

調べてみたんだが、銀は1段目に行っても 強制的に成るわけではないから、
成っていないんだな、このバグ☆ww

バグの中にも正しい動きあり☆ww 直した☆ww




21:42

局面データを SFEN形式で持つように改造していたんだが、
うまくいかなかったので まだできていない☆ww

GUIに表示している局面が 棋譜ツリーのどのノードに当たるのかを
指し示すカーソルを作ろうと したんだが それが うまくいってない☆ww



22:08



2015年1月版の きふわらべ だぜ☆(>_<)







拍手[0回]

ブログ内検索

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