6-1 データの構成
同人誌について
この連載は、同人誌『PythonとPygameで作る レトロ風RPG 全コード』を一部抜粋して編集したものです。
同人誌本編には、ゲーム本体のソースコードや、各種のサンプルコード、Windowsで実行できるEXEファイルが付属しています。PDFで288ページの本になります。ぜひ、こちらもご購入ください(2024-03-10:ver1.0.3 に更新)。
データの構成
ここでは、ゲームのデータをあつかいます。「src/mymod/data/」配下に多くのデータを格納しています。
src/
mymod/
data/
__init__.py
action.py
app.py
audio.py
battle.py
enemy.py
game.py
growth.py
io.py
item.py
map.py
map_event.py
scene.py
これらのモジュールは、大きく分けて3つに分かれます。
1つ目は「保存するデータ」です。ゲーム中の状態をセーブする際に、含まれるデータです。このモジュールのデータは、JSON形式で入出力します。
2つ目は、データの計算や保存に使う「補助的な関数群」です。オブジェクトのJSON化や、JSONからのオブジェクト生成は、これらのモジュールでおこないます。
3つ目は「保存しないデータ」です。ゲームの定数や一時的な変数で、保存とは無関係なデータです。
上に掲載した各ファイルを、この3つに分けて、簡単な説明を加えます。
保存するデータ
game.py
保存するデータのオブジェクト構造のルート。
主人公のデータや、各種データ。
item.py
アイテムの定数。
アイテム クラス。
所有アイテムのリストを表すクラス。
map.py
マップの定数。
マップ クラス。
ミニ マップの色。
map_event.py
マップ イベント クラス。
マップ イベントの設定と終了状況を保持。
補助的な関数群
growth.py
経験値の獲得とレベルによる能力値の計算。
io.py
データをJSON化して保存。JSONからのデータの復帰。
保存しないデータ
action.py
戦闘時の行動の定数
app.py
アプリケーションの設定。
画面サイズや描画単位、
画像ファイルなどのパス。
audio.py
音声ファイルのパスと読み込み。
battle.py
バトルの進行定数。
バトル結果格納用のクラス。
enemy.py
敵設定クラス。
敵データ。
scene.py
シーンの定数。
この章の進め方について書きます。まずは保存するデータを説明して、そのあとに補助的な関数群を説明します。最後に、保存しないデータを説明します。
同人誌について
この連載は、同人誌『PythonとPygameで作る レトロ風RPG 全コード』を一部抜粋して編集したものです。
同人誌本編には、ゲーム本体のソースコードや、各種のサンプルコード、Windowsで実行できるEXEファイルが付属しています。PDFで288ページの本になります。ぜひ、こちらもご購入ください(2024-03-10:ver1.0.3 に更新)。
このnoteの記事と、Webページに一部抜粋版を掲載しています。
技術系同人誌など まとめページ
この記事が気に入ったらサポートをしてみませんか?