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
http://grayscale.dou-jin.com/Entry/139/【将棋】めざせ世界コンピュータ将棋選手権☆(48) コールスタックを追いかけて行くんだぜ☆