PerlとMooでテキストRPG戦闘エンジンを作成するシリーズの目次です。State、Command、Strategy、Observerの4つのデザインパターンを学びながら、本格的なターン制バトルシステムを構築します。
RPG戦闘エンジン最終回。State、Command、Strategy、Observerの4つのパターンがなぜこの組み合わせで機能するのか、その背景と応用例を解説します。
RPG戦闘エンジン第9回。これまで作成した全パターンを統合し、プレイヤーがコマンドを入力して敵と戦う対話型のREPLバトルシステムを完成させます。
RPG戦闘エンジン第8回。State、Command、Strategy、Observerの4つのパターンがどのように協調して動作するかを解説します。
RPG戦闘エンジン第7回。Observerパターンを導入し、HP変化や戦闘終了などのイベントを購読者に通知します。イベント駆動プログラミングの基礎を学びましょう。
RPG戦闘エンジン第6回。Strategyパターンを導入し、敵のAIを攻撃的・防御的・ランダムに切り替えられるようにします。アルゴリズムの交換可能性を学びましょう。
RPG戦闘エンジン第5回。Stateパターンを導入し、戦闘フェーズ(開始・プレイヤーターン・敵ターン・終了)を状態オブジェクトとして管理します。状態遷移を明確にし、複雑な制御フローを整理しましょう。
RPG戦闘エンジン第4回。Commandパターンを導入し、各行動をコマンドオブジェクトとしてカプセル化します。if/else地獄から脱出し、拡張性の高い設計を実現しましょう。
RPG戦闘エンジン第3回。行動選択にif/elseを使うと、条件分岐が爆発的に増えて破綻します。この問題を実際のコードで体験し、なぜリファクタリングが必要なのかを理解します。
RPG戦闘エンジン第2回。攻撃だけでなく防御やアイテム使用など、行動の種類を増やします。Actionクラスを設計し、各行動を独立したクラスとして分離する方法を学びます。