1 / 13

Java でゲーム

Java でゲーム. 11074173  山本拓弥. Java とは. オブジェクト指向のプログラミング言語のひとつ。 さまざまなプラットフォームで実行可能なのが特徴。 携帯電話のアプリケーションは、ほとんどこの言語で書かれてある。. Windows. Mac OS. Windows. Mac OS. ○. ×. ○. ○. プログラム. プログラム. 他の言語. Java. ゲームの作成. Java を用いて、シューティングゲームを作成した。 ソースコードは、以下の HP のものを参考にさせていただいた。

suzuki
Download Presentation

Java でゲーム

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Javaでゲーム 11074173 山本拓弥

  2. Javaとは • オブジェクト指向のプログラミング言語のひとつ。 • さまざまなプラットフォームで実行可能なのが特徴。 • 携帯電話のアプリケーションは、ほとんどこの言語で書かれてある。 Windows Mac OS Windows Mac OS ○ × ○ ○ プログラム プログラム 他の言語 Java

  3. ゲームの作成 Javaを用いて、シューティングゲームを作成した。 ソースコードは、以下のHPのものを参考にさせていただいた。 「Javaでシューティングゲームを作ろう」 http://ponk.jp/old/java_shoot/index.php

  4. どんなゲームを作るか • 目標は、単純でやりやすいゲームを作成すること。 • 自分はJava初心者であるから、複雑なゲームを目指すことは控えた。 • 以後、プログラミングを行う機会があれば、より面白みのあるゲームを作ってみたい。

  5. ゲームの内容 • 画面の上から落ちてくる敵を、弾を発射して撃ち落とすゲーム。 • 敵をひとつ撃ち落とすと、スコアが加算される。 • 使用するキーは、Enterキー、方向キー、スペースキー。

  6. フィールド変数の宣言 • コードは、ひとつのクラスにいくつものメソッドを用いて作成していった。 • ちなみに、右はフィールド変数の一覧である。 • 参考にしたソースに、プレイヤーが上下に移動するための変数がなかったので、付け加えた。 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;//ゲームスレッド

  7. 使用した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 voidkeyTyped(KeyEvent e) {} • public void paint(Graphics g) { • public void update(Graphics g) {

  8. 自機の上下左右移動 • Upキー、Downキーも最初に宣言し、上下左右に自機を動かせるようにした。 • それによって、自由度が増した。 • しかし、敵の動きが単調なため、それで面白みが増すことはあまりなかった。 =自機 =敵

  9. 弾の発射 • 弾のy座標を45ずつ減らすことで、弾を飛ばすように見せている。 • 参考にしたソースでは10ずつであったが、スピーディにさせるために改良した。

  10. 弾の発射に関するコード • スペースキーを押すと、弾の発射フラグが立っていなければ、自機中央の座標に弾を設置。その後弾の発射フラグが真になる。 • 弾の発射フラグが真ならば、弾のy座標を45ずつ減らし、0未満となったところでフラグを偽にする。 if (keySpace) { if(!bflag){ bx = jx + 17; by = jy; bflag = true;} } if(bflag){by-=45; if (by < 0){bflag = false; } }

  11. ゲームオーバー • ゲームオーバー画面でエンターキーを押すと、スコアや自機の座標を初期化してメイン画面に戻すコードを追加した。 • つまり、やり直しである。

  12. 反省 • 自機をさらに自由に動かせるようになったので、今度は敵の移動パターンを増やし、さらに面白くしていきたい。 • 弾の動きにスピード感がでたが、弾の連射をできるようにして爽快感を出したかった。

  13. Javaに対する理解 • 今回、初めてゲームのプログラミングを行って、Javaに関する知識も増え、今までは思いもつかなかった応用の仕方も学ぶことができた。 • htmlも本格的に触れたのは今回が初めてで、大変良い経験ができたと思う。

More Related