数独的なお話(?)
今回、どうやって答えを求めているのかというお話です。
以下、各マスは各数字に対し、「入る可能性が残っているか」を持っているものとします。
要は[true,true,true,true,true,true,true,true,true]が空のマスで、
[true,false,false,false,false,false,false,false,false]が1の入ったマス、ということです。
※2010/2/14,18 訂正しました。情けない……
(2).各数字に対して、各行(列)((ブロック))で
同じブロック(ブロック)((行or列))だけ残っているとき
→その同じブロック(ブロック)((行or列))の他のマスのその数字の入る可能性を消します。
(3).各行、列、ブロックに対して
各数字に対して、入りうるマスのリストを作成し、その9個のリストのうち、
リスト中のマスの数と同じだけ一致するリストがあるとき
→それらのリストを与えた数字以外の数字が入る可能性を、その各リストに属するマス全てに対して消します。
その他のお話
今回はなんとwindow.onload,document.mouseover,document.onclickを使用しています。
(ボタン).onclickを使用していないというのがミソ。
あと、今回はなんとalertを使用しています。
上のやつをプログラムに落とすのに労力を使いすぎて、メッセージボックスを用意する気力が残っていないからです。