まずは、15パズルがどういうパズルなのか、それを紹介します。
図1.1 15パズル |
---|
まずは15パズルで繰り返し遊んでみてください。 あなたは、いつでもパズルを完成させることが出来ますか?
パズル本来の楽しみを削がないために、ここでは具体的な『解き方』の解説はしません。 どうしても完成できない、と言う方は、メールくだされば、なんとかしましょう(笑)
(なお近いうちに、『解き方』のページも別途作る予定です。)
さてさて。取り敢えず、大体いつでも解けるようになったとしましょう。
ずーっとパズルをやっていて、気がついたことはありませんでしたか?
「あらま、気がついたらもうこんな時間!」
いえ、そういうことじゃなくて(笑)
特に、パズルをプリントアウトした方や、市販の15パズルをケースから出してバラバラにしたあとで入れ直してパズルをやっている方は、あることに気がつくでしょう。
「あれー、おっかしいなぁ。こうすれば完成するはずなんだけど……」
図1.2 14−15パズル |
---|
これは、図1.2 のキャプションにもありますように、“14−15パズル”と名付けられた有名な問題で、現在では、実は、『絶対に解けない!』ということが分かっています。
だから、この形になってしまったら、完成できるわけが無いのだから、さっさと諦めましょう(笑)
しかし、普通はやってる時にはこの形になってしまうかどうかなど分からないので、「なーんだぁ、これ出来ないパターンじゃん」って後からガックリすることになると思います。
では、もしこの形になってしまう前に、こうなってしまうことが分かればどうでしょう? そうなれば、できもしない、無駄な努力をせずに済むのです。
そんな方法、あると思いますか?
ところで、Javaアプレットで15パズルを遊んでいた人で、この形になってしまって手詰まりになってしまった人、いらっしゃいますか?
誰一人として、そうなった方はいらっしゃらないと思います。だってそうじゃなかったら、僕のプログラミングが間違ってたことになる(笑)
つまり、「最初からそれが完成できる15パズルなのかどうかを知る方法」は、あるのです! 僕のプログラミングは、それを使ってパズルが始まる前に完成できるかどうかをちゃんとチェックしています。
では具体的に、それはどのような方法なのかというと……。
と、思わせぶりなところで、次回に続きます(笑;)
To be continued...