@nqounetです。
このページは「Perlでローグライク通知システムを作ろう」シリーズの目次です。
シリーズ概要
テキストベースのローグライクゲームを題材に、プレイヤーのあらゆる行動を複数の独立システムに通知する仕組みを作っていきます。知らず知らずのうちにObserverパターンを習得できる構成になっています。
対象読者
- Perl入学式を卒業したばかりの入門者
- 「Mooで覚えるオブジェクト指向プログラミング」シリーズを読了した方
- デザインパターンを実践的に学びたい方
- ゲームを作りながらプログラミングを学びたい方
前提知識
このシリーズを読む前に、以下のシリーズを読了していることを推奨します。
各回へのリンク
第1回: ダンジョン探索ログを作ろう
プレイヤーが敵を倒したらログに記録する簡単な仕組みを作成します。
第2回: 実績システムも追加したい!
ログと実績の両方に通知するコードが複雑化する問題を体感します。
第3回: 通知を受け取るクラスを作ろう
ログと実績をそれぞれ独立したクラスに分離し、責務分離の基礎を学びます。
第4回: 通知を受け取る約束を決めよう
Moo::Roleのrequiresでインターフェースを定義し、統一的な通知の仕組みを構築します。
第5回: イベント発生元を管理しよう
全Observerへ通知するGameEventEmitterを作成し、attach/detach/notifyを実装します。
第6回: Observerを動的に追加・削除しよう
ゲーム中にサウンドをON/OFFできる仕組みを実装し、動的な管理を学びます。
第7回: 型チェックでバグを防ごう
does制約で間違ったオブジェクトの登録を防ぐ方法を学びます。
第8回: 統計システムを追加しよう(OCP実践)
既存コードを変更せずに新機能を追加し、開放閉鎖原則を体感します。
第9回: 完成!ローグライク通知システム
全機能を統合して対話的なCLIでダンジョン探索を体験します。
第10回: これがObserverパターンだ!
作ってきた設計がObserverパターンだったことを明かし、類似パターンとの比較も解説します。
