Open Source WEB

Java3Dを使ったキューブパズル

このプログラムは、弊社インターンだったotachi君が作成したものです。面白いので、 本人の許諾を得て公開しています。

問題一覧

※リンクをクリックするとJavaCubeが起動します

Q0 Q1 Q2 Q3 Q4
Q5 Q6 Q7 Q8 Q9

ルール

  • 同じ色のキューブで連続するキューブをはさむと、始点から終点の手前までのキューブが消える。
  • キューブを全て消すことができればクリア (1個だけ残ったキューブはクリックするだけで消える)。

使い方

  • キューブをクリックすると選択(もう一度クリックすると選択解除)。
  • 選択しているキューブを再度クリックすると選択解除。
  • キューブを選択しているときに、何も無い場所をクリックすると選択解除。
  • 何も無い場所を左ドラッグすると視点変更。
  • 選択しているときに、別のキューブをクリックすると消える(条件を満たしていれば)。
  • Ctrl-Z で一手戻す。

実行環境

このアプレットはJava3Dを使います。アプレットが表示されない場合は、下記サイトを参考にJREやJava3Dをインストールしてください。

http://www.toyama-mpu.ac.jp/la/math/java3d/get_java/index.html

問題の作成

問題ファイルのフォーマットは非常に単純です。 しかし、読み込み時にエラーチェックしていないので、ちゃんと書かないと例外がでてしまいます。

  • 全体: 2次元の行列を何個も並べて3次元を表現します。
  • ヘッダ3行
    1. 列数 行数 行列の個数(奥行き)
    2. 問題を解くのに必要な手数
    3. 空白
  • 行列
    • 行内の要素をスペース区切りで、行を改行区切りで配置します。
    • 要素にはR、G、B、Yと . (ピリオド)が使えます.
    • R、G、B、Y はキューブを表し、それぞれ,赤、緑、青、黄色になります。
    • キューブを置かない場所には . (ピリオド) を書きます.
    • 行列と行列の区切りには空白行をいれます。

例えば、Q0の問題ファイルは以下の通りです。

5 5 5
4

. . . . .
. . . . .
. . . . .
. . . . .
R . . . .

. . . . .
. . . . .
. . . . .
. . . . .
. Y . . .

. . . . .
. . . . .
. . . . .
. . . . .
. . G . .

. . . . .
. . . . .
. . . . .
. . . . .
. . . B .

R Y B G R
. . . . G
G R B B G
. . . . G
. . . . R

作成した問題ファイルfooとアーカイブであるcube.jarを同じディレクトリに置き、 HTMLファイルに下記の通り記述してください。

<applet archive="cube.jar" code="jp.co.timedia.agile.puzzle.cube.CubePuzzleApplet.class" width="500" height="500">
<param name="filename" value="foo" />
foo
</applet>

ソースコード

javacube-src.zip


コメント

Name:
Comment:

There is no comment.

このサイトは、 IPA の「平成15年度オープンソフトウエア活用基盤整備事業」 の委託事業として開発されたKahuaで試験的に運用しております。

Copyright (c) 2004-2007 株式会社タイムインターメディア About Us