忍者ブログ

ぐれーすけーるブログ

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

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

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



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

[PR]

×

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

コメント

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

【将棋】めざせ世界コンピュータ将棋選手権☆(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回]

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