システム概要
createExeプロジェクトは、ゲーム機能を提供するPythonアプリケーションです。 各機能はモジュール単位で分離され、3層アーキテクチャ(Controller/Service/Component)で実装されています。
アーキテクチャ概要
システム全体の構成
createExe/
├── system/ # システム制御・メインループ
├── common/
│ ├── config/ # 設定管理機能
│ ├── home/ # ホーム画面機能
│ ├── save/ # セーブ・ロード機能
│ ├── end/ # 終了処理機能
│ └── ...
├── dungeon/ # ゲーム本体機能
└── test/ # テストコード
3層アーキテクチャ
各モジュールは以下の3層構造で統一されています:
階層 |
役割 |
|---|---|
Controller層 |
外部からの入力を受け取り、Serviceに処理を委譲 |
Service層 |
ビジネスロジックの実装、複数Componentの協調制御 |
Component層 |
単一責務の部品(Validator、Manager、Check等) |
データフロー
ユーザー入力/システムイベント
↓
Controller(入力処理・ルーティング)
↓
Service(ビジネスロジック実行)
↓
Component(データ検証・リソース管理)
↓
永続化・出力
共通基盤
レイヤー間通信
Request/Response パターン: 全モジュールで統一されたデータ交換形式
共通例外処理: エラーハンドリングの標準化
ログ出力: デバッグ・監視用の統一ログ
リソース管理
フォーム管理: 各画面の状態保持
サウンド管理: 音声リソースの制御
セーブデータ: 暗号化された永続化ストレージ
技術スタック
言語: Python 3.11+
GUI: pygame
暗号化: AES暗号化によるデータ保護
テスト: unittest/pytest
ドキュメント: Sphinx + mermaid図表
モジュール概要
実装済みモジュール
CONFIG: キー設定、音量調整、テスト再生機能(完全3層実装)
HOME: メニュー画面、ナビゲーション機能(完全3層実装 + Component層)
SAVE: ゲームデータの保存・読み込み・削除機能(完全3層実装)
END: アプリケーション終了処理(Controller + Service層)
計画中モジュール
DUNGEON: ゲーム本体のロジック機能
INVENTORY: アイテム管理機能
BATTLE: 戦闘システム機能