Javaでゲームを作ろう<アドベンチャーゲーム>2回目

プログラム

本日の課題

Javaでゲームを作ろう<アドベンチャーゲーム>2回目
メインメソッドを作ろう

アドベンチャーゲーム(画像表示機能付き)
1回目:構成を考えよう
2回目:メインメソッドの解説
3回目:ストーリーデータ、セーブデータの読み込みとセーブデータの書き込み
4回目:スタート画面を作ろう(テキストアドベンチャーと同じソースコードです)
5回目:ゲーム画面の表示部分を作成する
6回目:「story」配列からゲーム進行の情報を取り出し実行する。
完成品:説明が不要の方は、こちらからコードをコピーしてください。

ソースコード


package avgGame;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class Main {
// ストーリーデータとセーブデータ
private static String[][] story;
private static int saveIndex;

// 画面サイズ
private static final int WIDTH = 640 + 16;
private static final int HEIGHT = 480 + 38;

public static void main(String[] args) {
// ストーリーデータを読み込み
loadStory();
// セーブデータを読み込み
loadSaveData();
// スタート画面を表示
showStartScreen();
}

解説

パッケージ宣言
package avgGame;
・このプログラムは「avgGame」というパッケージに属している。

インポート文
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;

・必要なクラスをインポートしています。これにより、ファイルの読み書きやGUIの構築が可能になります。

クラス宣言
public class Main {
・「Mainクラス」はプログラムのエントリーポイントとなります。

フィールド変数
private static String[][] story;
private static int saveIndex;

・story: ストーリーデータを二次元配列として保持します。
・saveIndex: ゲームの進行状況を保存するためのインデックスです。

定数
private static final int WIDTH = 640 + 16;
private static final int HEIGHT = 480 + 38;

・ゲーム画面の幅と高さを定義しています。ウィンドウの装飾部分を考慮してサイズを調整しています。

メインメソッド
public static void main(String[] args) {
loadStory();
loadSaveData();
showStartScreen();
}
・ゲームのストーリーデータとセーブデータを読み込み、スタート画面を表示します。

詳細な説明
public static void main(String[] args)

これはJavaアプリケーションのエントリーポイントです。
プログラムが実行されると、まずこのメソッドが呼び出されます。
loadStory()
このメソッドは、ゲームのストーリーデータを読み込むためのメソッドです。
詳細は以下のとおりです:
ストーリーデータが格納されているCSVファイル(例: story2.csv)を開きます。
各行を読み込み、カンマで区切られた部分を分割して、二次元配列に格納します。
これにより、ゲーム中に表示されるストーリーのテキストや選択肢が利用可能になります。

loadSaveData()
このメソッドは、前回のゲームセッションの進行状況を読み込むためのメソッドです。
詳細は以下のとおりです:
セーブデータが格納されているCSVファイル(例: save2.csv)を開きます。
ファイルからインデックス(数値)を読み込み、現在のゲーム進行状況を示す変数に保存します。
もしセーブデータが特定の値(例: 999)であれば、ゲームの進行をリセットして、新しいゲームとして扱います。

showStartScreen()
このメソッドは、ゲームのスタート画面を表示するためのメソッドです。
詳細は以下のとおりです:
ウィンドウを作成し、タイトルを設定します(例: “Adventure Game”)。
スタート画面の背景画像を表示します。
プレイヤーがゲームを開始したり、続きからプレイできるようにするためのボタンを配置します。
各ボタンには、クリック時に対応するアクション(新しいゲームを開始する、セーブデータから続ける)が設定されています。

全体の流れ
ストーリーデータの読み込み
ゲームのストーリーに関する情報(テキストや選択肢)を準備します。
セーブデータの読み込み
前回のゲームセッションの進行状況を復元します。
スタート画面の表示

プレイヤーがゲームを開始したり、続きからプレイできるようにスタート画面を表示します。
この3つのステップにより、ゲームを開始する準備が整い、プレイヤーが次のアクションを選択できるようになります。

目次に戻る

スポンサーリンク

コメント

タイトルとURLをコピーしました