忍者ブログ

ぐれーすけーるブログ

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

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

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



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

[PR]

×

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

【将棋】めざせ世界コンピュータ将棋選手権☆(52) 打ち歩詰めをしないようにしたい☆ww

2015-02-15 13:13

うぷっ☆ 昨日は くじらちゃんの飲み会に参加したんだぜ☆



今日は、打ち歩詰めをしないように 覚えさせたいんだが、



将棋盤が 9x9 固定なので テストしにくい☆ww
うーむ☆ 5x5盤 とか使えたら楽なんだが、SFENを使っているので
対応していない☆ww



平手本将棋以外のことをすると、バグも出るし☆ww



2015-02-15 21:09

いまさらなんだが、普通にログが出るように改造した☆w



うむむ、平手のときは startpos として送っているのか☆
自作した局面のときも startpos として送っている可能性があるんだぜ☆
試してみよう☆


21:13



裸玉 vs 裸玉 だと、こうなるんだぜ☆

合ってると思うんだが☆ なぜか解析に失敗しているんだぜ☆

startpos 以外の場合は、バグっているんじゃないだろうか☆



21:40



うーむ☆ 調べてみるんだぜ☆

K1 とか、 G2 はおかしくないか☆?
K とか、 2G が正しいんじゃないか☆?

書き出している部分がおかしいのか☆?



21:44

"K" で検索したら22箇所ほどヒットして、SFENを作っているところを発見したぜ☆

Util_Narabe#SetStartpos_KokokaraSaifu

が怪しい☆ → 使ってなかった☆ww


21:50

StartposBuilder#ToSfenString()

が怪しい☆ww → うむ☆直した☆wwww



22:55



局面は 正しく認識しているようなんだが、
平手局面だと勘違いしているのか、盤上に無い駒をつまもうとするバグが
あるんだぜ☆

それも、コンピューター(後手)は、わたし(先手)の駒を
動かそうとしているんじゃないか☆ww


23:02



きふわらべちゃんは 後手なのに、 私の駒を動かそうとしてくるんだぜ☆
なぜなんだぜ☆?

23:11



SFENの position の、bとwって 先手 b、後手 w というのは分かるんだが、
後手のきふわらべちゃんに b と送っているのは 合っているのかなんだぜ☆?

正しく動く通信で試してみるか☆



23:18



startpos のときは b も w もないんだぜ☆wwwww

startpos じゃないときは、どっちが先手で、どっちが後手か、ちゃんと判定しなくちゃ
いけないんだぜ☆ww
将棋所はどうやって区別してるのか分からないが……☆w



23:23

むずでょ@『きふわらべ』将棋電王T24位@muzudho1
平手以外の配置で対局しようとすると、後手のきふわらべちゃんが、わたし(先手)の駒を動かそうとしてくるので何でなのかと思ったんだが、SFEN は平手以外のときは b / w と 手目数 を送る仕掛けで、将棋所の仕様に合わせ常に 1 手目固定にしたからなのだった☆ #コンピュータ将棋

むずでょ@『きふわらべ』将棋電王T24位@muzudho1
この時間から仕様変更はキツいんだぜ☆ また今度だぜ☆


拍手[0回]

PR

【将棋】めざせ世界コンピュータ将棋選手権☆(51) 棋譜のログを出力したい☆ww

2015-02-13 1:52

棋譜のログを出力したいんだぜ☆

7g7f,3c3d,5g5f …を、3手分、900行ほど、みたいな☆ww



2:59



USIに独自コマンドを追加できるように、掘った☆www



3:06

並行して 将棋所で きふわらべ vs きふわらべ をやっていたんだが、



308手目に L*5i+、つまり 後手が香車を9段目に打つ反則手を
指してしまったんだぜ☆(/_\)

わたしのプログラムで、そんな手を指すのか☆
直さなきゃなんだぜ☆



3:25

きふわらべちゃんに 5九に香を打ってください、とでも命令できたらいいんだが
そんな機能はないので ソースコードを調べていたんだぜ☆



たしかに コーディングミスがあるんだぜ orz

→直した☆ww



05:14



棋譜のログを出させたんだが、ツリー構造で表示させるか、
フル棋譜をずらーっと並べるか また今度 作ろう☆w



拍手[1回]

【将棋】めざせ世界コンピュータ将棋選手権☆(50) 今日は車将棋見てるんで☆ww

14:49



main関数の頭に [STAThread] と書いておかないと
テキストボックスに日本語入力ができない、なんて
知らないんだぜ☆wwwww



21:24



「8八」にある駒から見て「角道」と言えば、「7七,6六,5五…」といった
答えが返ってくる部分は ちょっぴり実装したんだぜ☆

「先手から見て」「本将棋の9×9盤では」といった、
会話では明示はしていないけれども 本当は必要な情報、といったものも
本当は 「文脈」欄 で指定しなければならないんだが
まだ そんなに作りこんでいないんだぜ☆


パーサーを作るのが うんざり するんだぜ☆wwwwwwww

() とか , とか☆wwwwww






拍手[0回]

【将棋】めざせ世界コンピュータ将棋選手権☆(49) 昨日は順位戦の解説を聞いてきたので……うっ眠☆ww そしてニコ生配信に書き込まれる謎のアラビア語☆ww

2015-02-07 13:33

はい起きたー☆ 昨日の電王戦ドキュメントも見たー☆ 今日はこれからなんだぜー☆

ヒマなので 生配信しているぜ☆wwwww
http://live.nicovideo.jp/watch/lv209581942


では きふわらべちゃんの プログラムをいじっていこう☆ww



2015-02-07 14:58



ところで ニコ生やってたら アラビア語で いたずら書きがあって、
「騎士は海の中心に沈んだ」とか、書込みがあったんだぜ☆ww

これは キリスト教の聖書の モーセの中に出てきて、
イスラエル人のモーセは、追いかけてきたエジプト人の軍隊を海の中に
落っことして沈めた、というシーン
なんだが

これは要するに、

  ピンポンダッシュ

なんだぜ☆wwwwwwwwwwww
やめろ 中学生のいたずら☆wwwwwwwwwwwwwww



15:49



なんかエラーが出たんだぜ☆ww



16:08



将棋の駒が80個あることが判明☆



うーむ☆ 将棋盤の上には駒が置いてあるし、駒袋にも将棋の駒が1セット置いてあるな☆




16:31



駒袋に、余計な将棋の駒1セットが入っているようなんだぜ☆



これか☆

 駒袋の歩の数 = 18 - 先手駒台の歩の数 - 後手駒台の歩の数

とかやっているが、正しくは

 駒袋の歩の数 = 18 - 盤上の歩の数 - 先手駒台の歩の数 - 後手駒台の歩の数

だろう☆w



16:45



将棋の駒を40個に きちんと直したら 前に出ていたバグがまた出てきたぜ☆

後手の角頭の歩を取ったら、1三の歩が なぜか消えてなくなるという不具合だぜ☆



17:28

バグの原因がわかったんだが、
わたしは 先手の歩の数は 9枚 だと決め付けてプログラムを組んでいたんだが、
先手の歩の数が10枚になることがあるんだぜ☆

駒を取ったときなんだぜ☆


かといって、駒には0~39の番号を振っていないと、
マウスで掴んだり 放したりできないんだぜ☆



18:09



一手指すと、 オブジェクト→SFEN、SFEN→オブジェクト という変換が起こり、
画面が同期して再構成するところがまだ作れていなくて、
駒の先後が ふやふや しているんだぜ☆



20:15

SFEN は将棋盤を表すには十分なデータなんだが、
きふわらべの中で使うには 不十分なデータだということがわかったんだぜ☆

内部データ形式を SFEN にする案は没にする☆wwwwwwwwwwwwww




03:24



集合論がちゃんとできているのか、テストするフォームを作ってみたんだぜ☆

動いているようではある☆



3:56



理屈はこれでいいと思うんだが、
テキストボックスに日本語入力が利かなくなるという わけのわからないバグに
悩まされている☆wwww

使えないじゃないか☆wwwww



04:15



いい感じなんだぜ☆w

拍手[0回]

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



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

ネイフィールウォーター

応援フリーエリア

デジゲー博
むずでょは、第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