豊ぴーと羽生四冠の王座戦ということで 将棋会館に初めて行ってみたぜ☆
一人で建物に入るのは怖かったんだが 他の人も ぱらぱらと歩いていたので
付いていったんだぜ☆ww
生のナベ二冠の解説が面白かったんだぜ☆
途中で 豊島さんのファンと 羽生さんのファンのどちらが多いのか
アンケートがあったんだが 羽生さんファンがずらーっと手を挙げてワロタ☆wwwwwwww
今日は 将棋エンジンの進捗はないぜ☆ww
自分用にメモを書くぜ☆
棋譜は、KifuLarabe / Kifu_Old # SetKomaDoors( kifuD, movedKoma, dst )
で書き換える☆
このメソッドは 5箇所 にある☆
(1) Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
後手が 先手の駒を 取ったとき☆ 取られた駒は駒台へ移動する☆
(2)
Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
先手が 後手の駒を 取ったとき☆ 取られた駒は駒台へ移動する☆
(3)
Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
取った駒を 駒台に置くとき☆ 成っていた駒は 不成に戻す☆
(4) Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
将棋盤上で☆ 指した駒から指を放したとき☆
(5) Kifusasi52_WhenKifuRead( ... ) メソッドの中☆
[戻る]ボタンを押したときで、
駒台の上にある取った駒を、将棋盤の上に戻したとき☆
細かいタイミングで 駒の置き場所を変えているな☆
この SetKomaDoors メソッドは、リストの最後の要素を更新する☆
つまり、150手まで指していれば、150手目とされる局面を編集する☆
次の手の局面を リストの最後に追加するには、
Kifu_Old.cs Kifu_Old # AddOldNode_BeforeCountUpTeme( KifuD )
メソッドを使う☆
例えば、10手目に このメソッドを使うと、
10手目と同じ局面を リストの最後尾に追加する☆
つまり 11手目は 10手目のコピーとして まずは用意される☆
このメソッドは KifuIO # Kifusasi25 (...) の中で呼び出される☆
KifuIO # Kifusasi25 (...) も、Kifusasi52_WhenKifuRead( ... ) も、
KifuIO # Ittesasi( ... ) という1つだけの入り口のメソッドの中にある☆
そして、 KifuIO # Ittesasi( ... ) は、SFEN書式の棋譜の moves 以降の
7g7f といった符号1つ1つに反応して実行される☆
ところが
棋譜並べなら 問題ないのだが、
将棋エンジンでは 問題を抱えるんだぜ☆
棋譜並べは 次のように、問題のない順番なんだぜ☆
初期局面 → 1手目 → 2手目 → 3手目。
将棋エンジンは 例えば後手の場合、次のような問題を抱えた順番なんだぜ☆
初期局面 → 1手目 → 初期局面 → 1手目 →
2手目 → 3手目
相手が一手指すたびに 初期局面にリセットしてから、今までの本譜を繰り返している☆
そしてこのとき、
1手目 = 初期局面 + 1手目
3手目 = 初期局面 + 3手目
のような 間を飛ばした指し方をしようとして、そんな指し方はできないと
バグが出ている☆ww
[0回]
PR
http://grayscale.dou-jin.com/Entry/72/【将棋】めざせ電王戦(35) 将棋会館の大盤解説を見てきたぜ☆ww