システム概要

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: 戦闘システム機能