(C)2000/STUDIO Septigram.
スライドパズルのアプレット。他に何の芸もない。
スライド操作は、マウスでチップをクリックするか、カーソルキーを使う。
スライドパズル自体の説明は必要もないと思うけど、一応記述しておこう。
スライドパズルは、(行数×列数-1)個の高さと幅のそろった矩形チップとそれらを配置する枠で構成され、チップをスライドさせて数値順、あるいはチップ上に描かれた絵のとおりに並べることを目的とする。チップを行数×列数の枠からはみ出して移動させることはできない。
たとえば3×3のチップで構成される場合は、以下のようにして解く。
| 2 | 3 | |
| 1 | 4 | 5 |
| 7 | 8 | 6 |
ここで、1のチップを上にスライドさせる。
| 1 | 2 | 3 |
| 4 | 5 | |
| 7 | 8 | 6 |
ここで、4と5のチップを左にスライドさせる。
| 1 | 2 | 3 |
| 4 | 5 | |
| 7 | 8 | 6 |
ここで、6のチップを上にスライドさせる。
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 |
これで完成。
このスライドパズルでは、以下のような項目をパラメータで制御できる。括弧内がパラメータのnameになる。パラメータは、html中のobjectタグ(あるいはappletタグ)の中に記述する。
パズル面を構成する行数を指定する。指定しない場合は4。
パズル面を構成する列数を指定する。指定しない場合は4。パズルのチップ数は行数×列数-1になる。
チップを移動するための空白位置を指定する。数値で指定し、完成状態のパズルでどのチップが空白になっているかを示す。数値は1から行数×列数までの値を取る。初期値は行数×列数-1になる。
たとえば3×3のパズルで、空白位置に5が指定された場合の完成状態は、以下のようになる。
| 1 | 2 | 3 |
| 4 | 6 | |
| 7 | 8 | 9 |
チップの初期位置を指定する。指定がない場合は、乱数で初期化される。
","で区切られた数値の列。左上から右方向に1から順に番号付けする。空白部分は0にする。
たとえば、3行3列の場合のパラメータとパズル面の初期配置の関係は以下のようになる。
<param name="init" value="1,3,4,2,7,0,8,6,5" >
| 1 | 3 | 4 |
| 2 | 7 | |
| 8 | 6 | 5 |
"random:"とそれに続く数値で指定した場合は、その数値で初期化された乱数による初期化される。パラメータ指定がない場合は、webページが表示される毎に初期位置が変化するが、特定の数値で初期化する場合は毎回同じ配置になる。
パズル面に貼りつける画像を指定する。urlでjpegあるいはgif形式の画像ファイル名を指定する。指定がない場合は、数字が表示される。
パズルが解けたときに表示する内容を指定する。指定がない場合は、"complete"と文字列が表示される。
表示する画像をurlでjpegあるいはgif形式の画像ファイル名を指定する。
urlでファイルが開けない場合は、指定された文字列をそのまま表示する。