Javaでゲーム 11074173 山本拓弥 Javaとは • オブジェクト指向のプログラミング言語のひと つ。 • さまざまなプラットフォームで実行可能なのが 特徴。 • 携帯電話のアプリケーションは、ほとんどこの 言語で書かれてある。 Windows Mac OS Windows Mac OS ○ × ○ ○ プログラム 他の言語 プログラム Java ゲームの作成 Javaを用いて、シューティングゲームを作成した。 ソースコードは、以下のHPのものを参考にさせ ていただいた。 「 Javaでシューティングゲームを作ろう」 http://ponk.jp/old/java_shoot/index.php どんなゲームを作るか • 目標は、単純でやりやすい ゲームを作成すること。 • 自分はJava初心者であるから、 複雑なゲームを目指すことは 控えた。 • 以後、プログラミングを行う 機会があれば、より面白みの あるゲームを作ってみたい。 ゲームの内容 • 画面の上から落ちてくる敵を、弾を発射して撃 ち落とすゲーム。 • 敵をひとつ撃ち落とすと、スコアが加算される 。 • 使用するキーは、Enterキー、方向キー、スペー スキー。 フィールド変数の宣言 • コードは、ひとつのクラスにいくつ ものメソッドを用いて作成していっ た。 • ちなみに、右はフィールド変数の一 覧である。 • 参考にしたソースに、プレイヤーが 上下に移動するための変数がなかっ たので、付け加えた。 Image jiki; int jx, jy;//自機座標 int bx,by;//弾座標 int ex, ey; //敵座標 int score=0; int scene; boolean keyLeft; boolean keyRight; boolean keyUp; boolean keyDown; boolean keySpace; boolean bflag; boolean keyEnter; Image bullet;//弾画像 Image teki; //敵画像 Image offImage;//仮想画面 Thread gameThread;//ゲームスレッド 使用したpublicメソッドなど • public class Myshoot1 extends Applet implements Runnable, KeyListener { • public void init() { • public void start(){ • Public void stop() { • public void run() { • public void gameTitle(){ • public void gameMain(){ • public void gameOver(){ • public void keyPressed(KeyEvent e) { switch (e.getKeyCode()) { • public void keyReleased(KeyEvent e) { switch (e.getKeyCode()) { • public void keyTyped(KeyEvent e) {} • public void paint(Graphics g) { • public void update(Graphics g) { 自機の上下左右移動 • Upキー、Downキーも最初に 宣言し、上下左右に自機を動 かせるようにした。 • それによって、自由度が増し た。 • しかし、敵の動きが単調なた め、それで面白みが増すこと はあまりなかった。 =自機 =敵 弾の発射 • 弾のy座標を45ずつ減らすこと で、弾を飛ばすように見せて いる。 • 参考にしたソースでは10ずつ であったが、スピーディにさ せるために改良した。 弾の発射に関するコード • スペースキーを押すと、弾の 発射フラグが立っていなけれ ば、自機中央の座標に弾を設 置。その後弾の発射フラグが 真になる。 • 弾の発射フラグが真ならば、 弾のy座標を45ずつ減らし、0 未満となったところでフラグ を偽にする。 if (keySpace) { if(!bflag){ bx = jx + 17; by = jy; bflag = true;} } if(bflag){by-=45; if (by < 0){bflag = false; } } ゲームオーバー • ゲームオーバー画面でエン ターキーを押すと、スコアや 自機の座標を初期化してメイ ン画面に戻すコードを追加し た。 • つまり、やり直しである。 反省 • 自機をさらに自由に動かせるようになったので、 今度は敵の移動パターンを増やし、さらに面白 くしていきたい。 • 弾の動きにスピード感がでたが、弾の連射をで きるようにして爽快感を出したかった。 Javaに対する理解 • 今回、初めてゲームのプログラミングを行って、 Javaに関する知識も増え、今までは思いもつか なかった応用の仕方も学ぶことができた。 • htmlも本格的に触れたのは今回が初めてで、大 変良い経験ができたと思う。
© Copyright 2025 ExpyDoc