忍者ブログ

ぐれーすけーるブログ

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

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

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



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

[PR]

×

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

コメント

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

【将棋】めざせ世界コンピュータ将棋選手権☆(48) コールスタックを追いかけて行くんだぜ☆

2015-02-05 21:44



StartposImporter#ToSky( )
Util_Sky#ImportSfen( )
KyokumenWrapper#ToKyokumenConst
KifuNarabe_KifuWrapper#SetCurNode( )
FlowB_3ErabuNaruNaranai#MouseLeftButtonDown( )

だいたい ここらへんまで遡ると分かるんだが、「成る/成らない」ボタンを押して
「駒が成った」ということに 差替えたときに バグるみたいだな☆




22:05



すこしずつ バグの場所を絞り込めてきたな☆

ToKyokumenConst が怪しいな☆




22:15

さて、よく読んでみようかなんだぜ☆



lnsgkgsnl
1r5b1
pppppp1+Pp
9
9
6p2
PPPPPPP1P
1B5R1
LNSGKGSNL

b P1 1

後手のポーンを1つ持ち駒にしている☆
うーん☆ 持ち駒の書式が違うみたいなんだぜ☆ 先手が歩を1枚持っているのなら

P なんだぜ☆



22:30

StartposExporter#ToSfenString( )

の中のパーサーを修正すればいいはず……☆


つまり、下の書き方は間違いなんだぜ☆

            Regex regex = new Regex(
                @"^\s*" +
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//1段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//2段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//3段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//4段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//5段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//6段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//7段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//8段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+) " +//9段目
                @"(b|w) " +//先後
                @"\-?" +
                @"(?:K(\d+))?" +//▲王
                @"(?:R(\d+))?" +//▲飛
                @"(?:B(\d+))?" +//▲角
                @"(?:G(\d+))?" +//▲金
                @"(?:S(\d+))?" +//▲銀
                @"(?:N(\d+))?" +//▲桂
                @"(?:L(\d+))?" +//▲香
                @"(?:P(\d+))?" +//▲歩
                @"(?:k(\d+))?" +//△王
                @"(?:r(\d+))?" +//△飛
                @"(?:b(\d+))?" +//△角
                @"(?:g(\d+))?" +//△金
                @"(?:s(\d+))?" +//△銀
                @"(?:n(\d+))?" +//△桂
                @"(?:l(\d+))?" +//△香
                @"(?:p(\d+))?" +//△歩
                @" (\d+)" +//手目
                @"",
                RegexOptions.Singleline
            );


書き替えたんだぜ☆

            Regex regex = new Regex(
                @"^\s*" +
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//1段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//2段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//3段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//4段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//5段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//6段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//7段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+)/" +//8段目
                @"([123456789KRBGSNLPkrbgsnlp\+]+) " +//9段目
                @"(b|w) " +//先後
                @"\-?" +//持駒なし
                @"(\d*K)?" +//持駒▲王 ※持ち駒が1個だけの場合は、数字が省略されます。
                @"(\d*R)?" +//持駒▲飛
                @"(\d*B)?" +//持駒▲角
                @"(\d*G)?" +//持駒▲金
                @"(\d*S)?" +//持駒▲銀
                @"(\d*N)?" +//持駒▲桂
                @"(\d*L)?" +//持駒▲香
                @"(\d*P)?" +//持駒▲歩
                @"(\d*k)?" +//持駒△王
                @"(\d*r)?" +//持駒△飛
                @"(\d*b)?" +//持駒△角
                @"(\d*g)?" +//持駒△金
                @"(\d*s)?" +//持駒△銀
                @"(\d*n)?" +//持駒△桂
                @"(\d*l)?" +//持駒△香
                @"(\d*p)?" +//持駒△歩
                @" (\d+)" +//手目
                @"",
                RegexOptions.Singleline
            );
そして 解析部分がめんどくさいことになった☆ww



23:10



まだ何かバグがあるのか☆wwwwwwwwww




23:30



駒台に1個乗ったのはいいんだが、袋に落っこちた1個の駒って何なんだぜ☆ww??



23:45



どうも、 1三の歩が 駒袋に落っこちていってしまうみたいなんだぜ☆
なぜ☆www



0:28

うむむ☆ 今日も分からないんだぜ☆

ppppppp+Pp で、+が1つ増えた分、最後の p が切り落とされてるとか そういうことは
ないのかだぜ☆?



正規表現を書き替えてみたんだが、ダメっぽいんだぜ☆www 寝よう☆ww

            Regex regex = new Regex(
                @"^\s*" +
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+)/" +//1段目
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+)/" +//2段目
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+)/" +//3段目
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+)/" +//4段目
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+)/" +//5段目
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+)/" +//6段目
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+)/" +//7段目
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+)/" +//8段目
                @"((?:[123456789]|\+?[KRBGSNLPkrbgsnlp])+) " +//9段目
                @"(b|w) " +//先後
                @"\-?" +//持駒なし
                @"(\d*K)?" +//持駒▲王 ※持ち駒が1個だけの場合は、数字が省略されます。
                @"(\d*R)?" +//持駒▲飛
                @"(\d*B)?" +//持駒▲角
                @"(\d*G)?" +//持駒▲金
                @"(\d*S)?" +//持駒▲銀
                @"(\d*N)?" +//持駒▲桂
                @"(\d*L)?" +//持駒▲香
                @"(\d*P)?" +//持駒▲歩
                @"(\d*k)?" +//持駒△王
                @"(\d*r)?" +//持駒△飛
                @"(\d*b)?" +//持駒△角
                @"(\d*g)?" +//持駒△金
                @"(\d*s)?" +//持駒△銀
                @"(\d*n)?" +//持駒△桂
                @"(\d*l)?" +//持駒△香
                @"(\d*p)?" +//持駒△歩
                @" (\d+)" +//手目
                @"",
                RegexOptions.Singleline
            );

拍手[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