Yavalathというゲームのアルゴリズムを作り直す。前のプログラムがよくわからなかったのと、
データ構造がいまひとつな感じがして、これなら新規で作り直した方がよさそう。
作り直して元々45位だったものが43位昨日の深夜練り直してもうだめかと思って深夜1時
何かが覚醒したのか、最高19位まで上がる。
翌朝、詰みのパターンが説明サイトにあったのでそれを練り込む。re(パターンマッチのライブラリ)
はあんまり使ったことがない。
これがその心臓部分。
詰将棋の初期状態のようなものが157行目、154、155行目が簡易作成ルーチン。
"."はなんでもいい所 "0"は開いている所 "1"は自分の駒 "2"は相手の駒 "a"は自分の駒以外 "b"は相手の駒以外 "@"は改行
160行目は打ち込み先のルーチン、1234が打ち込む順番(あいては詰めろ3回かけられ4回目でつむ)
実装しているのは
http://cambolbro.com/games/yavalath/
のサイトのTactics and Strategyに紹介されている2つ目のパターンwiningPat2は回転させた物です。
ただ周辺の駒との関連はまだ甘いようでたまに、はまって負けます。
やる気と順位はなかなかマッチせず、やる気がありすぎると無理そうな筋に入って下がります。
少しやる気がない時のほうが冷静なのかあがったりします。だいたい、いつも無理筋に入って
少し下がった所で終わっている気もしています。