Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
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行
- 列数 行数 行列の個数(奥行き)
- 問題を解くのに必要な手数
- 空白
- 行列
- 行内の要素をスペース区切りで、行を改行区切りで配置します。
- 要素には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>
There is no comment.