🙌

大学の授業でゲームのエミュレータを作ってみた ~プログラム構造編~

2022/02/21に公開

プログラムの構造までお話だよ

公開範囲 ディレクトリとUMLとしての構造まで

今回のゲームを作成するにあたって、作った構造のお話になります。

ゲームの素材ファイル関連

画像関連

Image ディレクトリを付けて作成

以下のものが主に入っています。

エミュレータ側

・起動ロゴ

・エミュレータ

ゲーム画面の外枠部分になります

ゲーム固有

・タイトル画像
ゲーム起動時の背景画像

・画面内の素材画像
ゲームでクリックしたときに反応するボタン画像の例

音楽関連

Soundという名前のディレクトリを付けて作成

エミュレータ本体側

https://www.youtube.com/watch?v=207ChpLnbDE

####### 起動関連音楽

0~8sec

kamnedotpower.wav....電源の効果音

ゲーム固有
日常ゲーム

dailyTitle.wav.......日常ゲームの効果音

stgゲーム

対象ゲーム

https://www.youtube.com/watch?v=-ZHL0qZGXNc

タイトル画面

25秒分まで

gameTitle.wav........stgゲームのタイトルbgm

アクションパート
25秒~

gameMain.wav.........stgゲームのアクションパートbgm

ファンタジーっぽいゲーム

fanasyTitle.wav......ファンタジーゲームのタイトルBGM

アクションパート

YouTubeのvideoIDが不正ですhttps://youtu.be/207ChpLnbDE?t=31

ゲーム基盤部分(infra directory)

今回のゲームで作ったクラスの各種説明です。

描画関連(graphic directory)
GraphicManager.java

エミュレータの機械側(hardware directory)
PowerSource.java

個別ゲーム基本セット(software directory)
基礎クラス(GameContents.java)

シューティング拡張ゲーム(RabbitStg.java)

基礎クラスのメソッド内で各画面の処理を実装するクラスです
シューティングゲームの敵と自機と、保存処理を追加実装しています。

日常ゲーム(DailyGame.java)

ファンタジーっぽいゲーム(FantasyGame.java)

音楽関連基本セット(SoundDirectory)

音楽管理用クラス(SoundManager.java)

GitHubで編集を提案

Discussion