JAVAプログラミング講座 宇宙のJAVAさん
- STORY 7 -
こんにちは、みなさん!!
こんにちみゃん!!
もぉ〜
さて、現在製作中のパズルゲームもこの講座でついに完成します。
気合を入れていきましょう!!!

はーい!
えーと、どこまで作ったんだっけな????
パネルをランダムで入替えたところみゃん!!!
そうでした!!
最近いろいろなプログラムを作っているので、ちょっと失念していました・・・
しっかりして欲しいもー
では気を取り直して、続きを作ります。
最初、2枚のパネルをクリックするとそれらのパネルが入れ替わるゲームを考えていました。
なるほどもー。 そうやって、CGを完成させるのかもー
でも、2枚のパネルを選んで入替えるプログラムは、ちょっとだけ面倒なんです・・・
で、冬眠中にいろいろ考えました。
結局、 クリックしたパネルが左上のパネルと入れ替わる プログラムにする事にしました。
この方が2枚を取り換えるより、面白いゲームになりそうなので・・・・
それも、面白そうだみゃん!!!
早速作っていきましょう!!
マウスのクリックで、パネルを入れ替えます。
マウスをクリックしたときに実行される関数はなんでしたか???
mouseDown() だみゃ!!!
そうです!! mouseDown()
にプログラムしていきます。
最初にクリックしたときに、どのパネル上でクリックされたか、知る必要があります。
どのパネルを入替えるか、判らないと困りますので・・・
どうするも〜???
mouseDown()
関数は、クリックされた座標を受け取ります。
mouseDown(Event e, int x, int y) {
int x がクリックされたX座標、 int y がクリックされたY座標です。
そこで、クリックされたパネルを、この x, y を使って割り出します。
なるほども〜 わかったもー
じゃ、牛君!
クリックされたパネルが縦横何番目のパネルか調べるプログラムを組んでください!!
パネル座標は変数 px , py に入れてくださいね!
パネルの大きさが 80 x 80
だから、クリックされた座標を 80
で割ると、パネル座標がでるもー!!
こうだもー!!
| public boolean mouseDown(Event e, int x, int
y) { // マウスダウン int px, py; px= (int)( x/80 ); py= (int)( y/80 ); return true; } // mouseDown() |
そうです!! 牛君!!
クリックされたパネルがこれでわかりました・・・
次にパネル座標
( px, py )のパネルと、パネル座標 ( 0, 0 )のパネル(左上のパネル)を入替えます!!
みゃあちゃん、わかりますか??
画像の入替えってどうやるみゃ???
ランダムで入替えたときとまったく同様です!! kcopy()
を使って入替えてください!
わかったみゃん!!
あと、入替えた後、入替えた画面を表示するために、
repaint() (再作画) 命令を入れてください!!
みゃん!
| public boolean mouseDown(Event e, int x, int
y) { // マウスダウン int px, py; px= (int)( x/80 ); py= (int)( y/80 ); kcopy( 0, 0, 0, 6); kcopy( px, py, 0, 0); kcopy( 0, 6, px, py); repaint(); return true; } // mouseDown() |
その通りです!! で、なんとこれで完成です!!!!!
完成だみゃん!!
さっそくコンパイルして実行してください!!
コンパイルして・・・・ お、動いたもー!!!

わーい!! クリックするとパネルが入れ替わるみゃん!!
さっそくCGを完成させるみゃん!!!
ぼくも負けないもーーーー!!
・
・
・

・・・・・・・・・・・・ (T_T)
??? どうしました???
難しすぎるもー!!!!!!!!!
こんなの、「完成図」がないと解けないみゃん!!!!!!!!!
やはりそうでしたか。
安心してください!!! そういう場合は、CGに枠を描き込みましょう!!!!!
なるほど。 これなら何とか解けるもー
おもしろいみゃん!!!

やった!! CGが完成したみゃん(も〜)!!!
このプログラムは僕のホームページに置いていいのかみゃん???
もちろんです!! この「宇宙のJAVAさん」の講座の中で紹介したプログラムは、パブリックウェアです。 著作権も破棄しているので、ソースをいじって公開してもOKですし、ダウンロードした瞬間から、君のプログラムです(笑)
じゃ、さっそく
ロリロリいや〜んなCG を使って、パズルゲームを公開するみゃん!!
ぼくも自分のホームページで、公開するもー
・
・
・
ついに
JAVAゲーム が完成しましたとさ!!
めでたし、めでたし
| クマ・ザ・グレート CGパズル(仮名) -番外編- |
ZZZ・・・
くま先生!!
ん? なんですか??
このパズルゲームには、CG完成の判定が無いのかも〜???
ZZZ・・・
くま先生!!
ん? なんですか??
だから! 普通のパズルゲームは完成すると、次の面に進んだり、ボーナスCGが出て来たりするも〜
ZZZ・・・
モモモモモモモモモモ・・・・・・・・
失礼しました・・・
(-_-;)
じつは、CGが完成したかどうかの判定プログラムは、結構難しいのですよ・・・
どんな感じで完成判定するか知りたいもー。
じゃ、完成判定をパズルゲームに付けてみます。
プログラムの説明はしないので、ソースを見て勉強してください・・・
ソースプログラムにコメントを多数つけておきますので・・・
わかったも〜
では、少し待っていてください。
(カチ、カチ、カチ、カチ・・・)
なるほど! 配列に数字を入れておいて、パネルを入替えるたびに、配列の数字が順番にそろっているかチェックしてるのかもーー!!
そうです。 さらにプログラムを改造すれば、CGが完成した時にボーナスCGを出すのも可能です。
じゃ、僕はこっちの「完成判定付きのパズルゲーム」の方を、自分のホームページで公開するもー!!!
ところで、みゃあちゃんを見かけませんが・・・??
みゃあちゃんなら、アングラサイトをうろついて、パズルゲームにつかう女の猫(こ)の画像を探しているも〜
・・・
そのうち捕まるんじゃないんですか????
「時代は猫耳みゃ!!」と叫んで、探しまくっているも〜
それは、素晴らしい意見ですね。
では、おやすみなさい・・・
ZZZ・・・
宇宙のJAVAさん 第1部 完
![]()