15 パズル
Java Applet 版の 15 パズルです。任意の画像を、任意の分割でトライできます。
15パズルとは、 サム・ロイドという人が発明したパズルで、一枚の絵を4×4に分割して、そのうち一枚を抜き去ります。そして分割した絵を適当に並び替えた上で、抜いた一枚のスペースに絵をスライドして元の絵を再構成していくパズルです。
完成したときに隣り合う絵が並んで入れ替わっていると、絶対に解けないパズルであることが数学的に証明されています。
上述のように、オリジナルの15パズルは解けないときがありますが、この Java applet では、必ず答えが出るように絵を並び替えてあるので、安心してトライしていただけます。時間制限があるので、急いでトライしてください。
なお、プレイの難易度を調整するために4×3のバージョンにしてあります。
遊び方
- 画面をクリックしてスタートしてください。
- 15パズルが開始されるので並び替えてください。
- 灰色のパネルと、縦横の並びが同じパネルをクリックすると、灰色のパネルの部分に移動します。
- スコアは減点方式です。3000点から、クリック回数×5点、経過秒数×1点がマイナスされてスコアになります。
- 高得点者はランキングにエントリーできます。ゲーム後のランキング画面で、Please type your name と言われたら、キーボードで名前をタイプしてください。
効果音&BGM
このパズルの効果音は、「WEB WAVE LIB」で配布されている WAVE データを、au 形式に加工して使っています。
設置
このゲームを、貴方のページに設置したいというかたは、P15.jar をダウンロードして、貴方のページにアップロードしてください。
次に P15.jar があるディレクトリーに以下のようなタグが含まれる html を書きましょう。
通常の場合のタグ
<param name="Image" value="P15.jpg">
<param name="Column" value="4">
<param name="Row" value="3">
</applet>
Applet タグの縦横サイズ指定は、画像ファイルの縦横サイズと同一にしてください。パズルで使う画像は、Image で指定し、必須です。縦分割数は COLUMN、横分割数は ROW で指定します。
デフォルトの元点数である 3000 を変えたい場合は、パラメーター BaseScore を指定してください。
ランキングを用いた場合のタグ
<param name="Image" value="P15.jpg">
<param name="Column" value="4">
<param name="Row" value="3">
<param name="HiScoreURL" value="http://uncorrelated.no-ip.com/cgi-bin/game.cgi">
<param name="HiScoreID" value="3">
</applet>
ランキング表示をつけるときは、上記のように HiScoreURL と HiScoreID を設定してください。HiScoreURL には、P15.jar 内部に含まれる game.cgi を設置した場所、HiScoreID は、任意の数字です。game.cgi 内部に記載してありますが、game.dat.[HiScoreID] のようなファイルにランキング・データを格納するので、game.dat.[HiScoreID] というファイルをあらかじめ作成し、chmod 666 でウェブサーバーが読み込み変更が可能なようにファイル属性を変更しておく必要があります。
ソースコード等
P15.jar の中に Puzzle15.java というソース・コードを添付しています。結構、ぐちゃぐちゃですが、読みたい人はどうぞ。