静岡理工科大学 情報学部 全体目次 菅沼ホーム

Java によるゲームプログラミング

  ここでは,ゲームの作成を通してプログラミング言語 Java について学びます.いくつかのゲームを扱いますが,あくまでプログラミング言語を学ぶことが目的であるため,作成するゲームの完成度は高くありません.また,ゲーム作成の手順に沿って学習するため,一般的なプログラミング言語に対する教科書とは学習する順序もかなり異なってくると思います.逆に,「プログラミング言語を学ぶ」ということを目的としているがため,実際のゲーム作成手順・方法とは異なったり,非効率になっている部分も多いかと思います.Java について系統的に学びたい方は,「C/C++ と Java」,「Java 自学自習」などを利用して下さい.また,「Java アプレットを使ってみよう!」は,Java の機能の概略を知る上で,一つの手助けになるかもしれません.

  Java を使用してプログラムを作成するためには,JDK をダウンロードしてインストールする必要があります.例えば,JDK のダウンロードを行うための日本語サイトから最新の Java Platform, Standard Edition(Java SE)をダウンロードし,インストールして下さい.プログラムをコンパイルしたり実行したりする時に必要となるプログラムは,インストールしたディレクトリの下にある「 bin 」ディレクトリの中に含まれています.このディレクトリを環境変数 PATH に設定することを忘れないで下さい.

  Java はコンパイル言語です.従って,コンパイルしない限り実行できません.適当なエディタを使用してプログラムを作成し(ここでは,作成したプログラム名を Test.java とする),作成したプログラムが存在するディレクトリにおいて,コマンドプロンプトから,
javac -encoding utf-8 Test.java
		
と入力すればコンパイルできます(プログラムが SHIFT JIS で作成されている場合は,「-encoding utf-8」の部分は必要ありません).その結果,同じディレクトリ内に,Test.class などのファイルが生成されるはずです.

  Java では,C/C++ のように,独立したプログラムとして実行させることも可能ですが,ここでは,Web ページにアプレットとして埋め込み,Web ページ内で実行させる方法を採用します.そのためには,以下に示してあるように,HTML の OBJECT 要素を使用します.下の例では,実行するプログラムを「 Test.class 」,そのプログラムが存在する場所を HTML ファイルが存在する場所からの相対アドレス「 applet/ 」で指定しています.なお,Java プログラムが HTML ファイルと同じディレクトリに存在する場合は,この行は必要ありません.
<object type="application/x-java-applet" width="600" height="400">
	<param name="code" value="Test.class">
	<param name="codebase" value="applet/" >
</object>
		
  では,具体的に,ゲームを作成しながら Java について学んでいきましょう.

  1. アプレット

    1. クラスとは?
    2. アプレットの表示

  2. ゲーム枠の作成

    1. 全体構造
    2. Game クラス
    3. MainPanel クラス
    4. StartPanel クラス
    5. GamePanel クラス
    6. GameClearPanel クラス
    7. GameOverPanel クラス

  3. 基礎技術

    1. フィルタ
    2. イベント処理(ドラッグ)
    3. 速度と加速度
    4. 跳ね返り
    5. 衝突判定
    6. 移動,回転,縮小・拡大

  4. ゲームの作成

    1. アクションゲーム
      その1) 1 枚の画像で背景や障害物を表現
      1. ステップ1: ゲームの枠組み
      2. ステップ2: ゲームオーバー
      3. ステップ3: ジャンプ
      4. ステップ4: 完成
      5. ステップ4: 完成( BGM 付き)
      その2) 格子内に配置した小さな画像の組合せで背景や障害物を表現
      1. ステップ1: ゲームの枠組み
      2. ステップ2: ゲームオーバー
      3. ステップ3: ジャンプ
      4. ステップ4: 完成
      5. ステップ4: 完成( BGM 付き)

    2. タワーディフェンスゲーム
      1. ステップ1: マップの表示
      2. ステップ2: マップの編集
      3. ステップ3: 敵の生成
      4. ステップ4: 味方の生成
      5. ステップ5: 完成

    3. ブロック崩し
      1. ステップ1: ゲームの枠組み
      2. ステップ2: ボールの動き
      3. ステップ3: ブロック崩し
      4. ステップ4: 完成

    4. 迷路
      1. ステップ1: ゲームの枠組み
      2. ステップ2: 主人公と迷路の配置
      3. ステップ3: 完成
      4. ステップ3: 完成( BGM 付き)

    5. シューティングゲーム
      1. ステップ1: ゲームの枠組み
      2. ステップ2: 移動(自機)
      3. ステップ3: 移動(ボス,敵機)
      4. ステップ4: 弾の発射(自機)
      5. ステップ5: 弾の発射(ボス,敵機)
      6. ステップ6: 完成
      7. ステップ6: 完成( BGM 付き)

    6. ぷよぷよ
      1. ステップ1: ゲームの枠組み
      2. ステップ2: ピースの落下
      3. ステップ3: ピースの生成と落下
      4. ステップ4: ピースの移動・回転・色の交換
      5. ステップ5: ピースの積み上げ
      6. ステップ6: 完成
      7. ステップ6: 完成( BGM 付き)

    7. 8パズル
      1. ステップ1: ゲームの枠組み
      2. ステップ2: 初期状態の生成
      3. ステップ3: 完成

    8. ナンプレ
      1. ステップ1: ゲーム枠の作成
      2. ステップ2: ルール違反のチェック
      3. ステップ3: 数字の出現回数の表示
      4. ステップ4: 数字入力可能位置の表示
      5. ステップ5: 状態の記憶と復元

    9. オセロ
      1. ステップ1: ゲームの枠組み
      2. ステップ2: 初期状態の表示
      3. ステップ3: コマを置く
      4. ステップ4: 勝敗とスキップ
      5. ステップ5: 完成

静岡理工科大学 情報学部 全体目次 菅沼ホーム