これまでの技術を使って、簡単なパズルを作ってみましょう。 パズルの内容は、次のとおりです。
ということで作ってみましょう。
これは、プログラムとしては簡単で、クリックされた画像によって、別の画像を入れ換えるだけです。
パズルのロジックと言えるほどものはありません。
注意:下のパズルは、実際にはRubyで作られてます。
六角形をきちんと作ってもいいですけど、ここは簡単に表組みで済まします。 下のような感じです。
![]() | ||
![]() | ![]() | |
![]() | ![]() | |
![]() |
HTMLでは、単純な表でも「</TD><TD>」といった表現が何回もでてきます。
プログラムではそれらを変数にしておくことで、多少すっきりしたものになります。
1: TR = '</TD></TR>\n<TR><TD>' 2: TD = '</TD><TD>' 3: 4: print '<TABLE><TR><TD>', \ 5: TD, Ball[0], TD, TR, \ 6: Ball[5], TD, TD, Ball[1], TR, \ 7: Ball[4], TD, TD, Ball[2], TR, \ 8: TD, Ball[3], TD, \ 9: '</TD></TR></TABLE>'
ここで「Ball[0]」といった部分(変数)がマル画像を表示し、さらにデータのリンクも付いたものになります。 このデータを作るのがプログラムの本質的な部分です。
次に、マルがクリックされた時に、どういうデータをサーバーに送るかを考えます。
この場合は「どのマルがクリックされたか」と「現在のそれぞれのマルの色は何か」というデータで
パズルの全ての状態が表現できます。
「それぞれのマルの色」は、「白、赤、青」を「0、1、2」で表すことにし、
これを6個並べて、その順番でどのマルが何色かを表します。
「どのマルがクリックされたか」は、マルの順番の数字で表します。
例えば「0102204」というのは「番号1、3、6のマルは白、番号2のマルは赤、番号4と5は青で、番号4のマルがクリックされた」となります。
プログラムの流れは、次のようになります。
それでは、実際にプログラムを紹介して解説しましょう。