先週末の懇親会で意外と支持のあったリバーシ/オセロネタ。
アクアさんのところでコメントしたのだけど「今週末作ろうかな。」と思ったので、企画したらどのくらいの人が興味を示すのだろう、という調査です。
ここはこうした方がいいんじゃない?!というツッコミは歓迎。
- ルール
優れたプログラムであるほど時間をかければいい解を出してくるので、時間制限は設けたい。
個人的には経過時間によって(処理時間の合計が限度を超えたら)失格にするよりも、1手ごとに制限時間を設けるというのがやりたいなーと思います。
例えば1秒後にディーラー(実行プログラム)がどこに指すかを見た(変数にアクセスした)ときに何も書かれてなかったり間違っていたら失格やペナルティとか。
実行環境の処理性能も決めないと。
- 内部仕様
入力:盤面 bool?[] や bool?[,]
出力:結果 int や Point
bool?(Nullable<bool>)の場合、nullはどちらの駒もおかれていない状態というのはいいとして、trueって自分の駒?黒番?
IEnumerable<Point>も考えたけど、常に黒、白、黒、白、・・・とはならないんだっけ?
自分が提案したルールだと、メソッド内部で結果をセットするので、出力はvoidですね。
- スケジュール
今月末。 と言っておいて後から延ばす。
いきなりゲームAIって言われて戸惑うかもしれないし、その反対にいきなりすごいものを作られてもこっちが当惑するので、まずは駒が置ける場所をリストで返す、というところから始めた方がいいのかな。
#ここはこうした方がいいんじゃない?!と受けるとする前に何1つ決めてないじゃないか!