でっち上げ

プログラミングBの冬の課題は「自由課題」。アイディア勝負と言うことか、こいつは悩まされる! この半期で習ったことも習ってないことも投入してなにか設定した課題をJava実現してレポートしろと。
課題を設定するとすれば、数学系の課題にするか、ビジュアルな課題にするか、そこがまず悩みどころ。そしてその難易度設定。自由課題である以上、できれば余裕をすべて振り向けてすごいやつにしてみたい。でも、どの程度の「余裕」ができるかはまだわからないし・・ 第一おおもとのネタをなんにするか。
そこでハタと思いついたのが、オセロ。オセロのプログラミングだったら高校の頃からBASICでもCでもやってる。ちょっとくらいはノウハウもある。そこで、これまで挫折していた先読み思考ルーチンの実装をしてしまおうではないか。そして、余裕がなくてα-β法が実装できなかったら静的評価関数でお茶を濁してしまうという逃げ道まで完備されている!(それなりに強い静的評価関数なら作れるもんね)
するととりあえず問題なのがオブジェクト指向で基本骨格を作れるかだけど、案外行けるもの。とりあえず一晩で、人間vs人間のプレーができるところまででっち上げられてしまった。まあ、盤面をわざわざオブジェクトとして独立させたのに全然MVCになってなかったりとOOP素人なのが丸出しだけど。