解説記事を出すぜ、の件
とりあえず作ってみたので、配布されたスペック表*1にこっそり書いて運営の方に提出したところ、基本的に今日は拾わないらしかったので、ここでちょっとだけアピールしてみる*2。
システムの概要は以下のとおりです。
入出力は以下のとおり。
棋譜を評価値の動きによって以下の5パターンに分類する。
一方的:評価値が、勝った手番側で常に推移しており、最大評価値が300より大きい
中逆転:評価値が、負けた手番側に300-1000点内で推移した後、勝利する
大逆転:評価値が、負けた手番側に1000点以上に推移した後、勝利する
良い勝負:評価値が60手まで-300-+300で推移する
その他:上記のパターン以外
そのパターンごとに対局のポイントとなった「ポイント手」を定義し、そのときの手と読み筋を抽出する。その手が勝った手番が指した手であれば「好手」、負けた手番であれば「悪手」であるとする。
一方的:勝った手番側に最も評価値が大きく変化したときの手とする
中逆転:負けた手番の最大評価値になった後、初めて負けた手番の最大評価値のx%の値まで戻したときの手とする
大逆転:負けた手番の最大評価値になった後、初めて負けた手番の最大評価値のx%の値まで戻したときの手とする
良い勝負:勝った手番の最大評価値のx%の値になったときの手とする
上記で取得した情報(その他総手数など)を構造体にパックし、記事を生成する関数に渡す。
テンプレを用意しておいて、そのテンプレに構造体の情報を代入し、htmlファイルとして出力する。
ということで、評価値が正しく出ない弱いプログラムだと上手くいかないのです。
だからなんか変な結果が多かったです。
しかも、詰まされてから自滅手さすバグのおかげで、対局後にまともに棋譜を出せなかったです。
だからあまり記事出力を紹介するタイミングなかったです。
やらかしたなー、せっかく独創賞あったのにチャンス逃した気がする。
あと、ポイント手の出力条件はもう少し考えないとだめだなー。
出せた記事今見てるけど、評価値の大小だけだと上手くいかないということが判明したので。