Tags
413 ページ目
Moo
作ってきた通知の仕組みに名前が付く。Observer パターンと、Pub/Sub・Mediator との違い【Observer パターン】
ログ・実績・サウンド・統計をまとめて、ダンジョンを探索できる CLI にする。ローグライク通知システムの完成【統合】
統計の集計を足したいが、既存のコードには触りたくない。新しい通知先を1つ作って足すだけで済ませる【開放閉鎖原則】
通知先に、関係ないオブジェクトを登録してもエラーにならない。does 制約で登録の時点で弾く【型チェック】
夜中だけサウンドを切りたい。ゲームの実行中に、通知先を追加したり外したりする【動的な管理】
通知先を呼ぶ処理が、まだ攻撃のメソッドに残っている。通知先を一括で管理して知らせる GameEventEmitter を作る【attach/detach/notify】
通知を受け取るクラスが増えても、update を書き忘れて落ちないようにしたい。Moo::Role の requires で約束にする【Moo::Role】
ログと実績の処理を、攻撃のメソッドから切り離したい。通知を受け取るクラスに分ける【責務の分離】
実績システムを足したら、攻撃のメソッドが if/else だらけになった。通知先が増えるほど直しにくくなる理由を体感する
敵を倒したらダンジョン探索のログに残したい。まず say で直接出力する素朴な実装から始める【ゲームイベント】
総当たりの再帰が読みにくく、止めて再開もできない。次の候補を返す next メソッドのクラスにする【Iterator】
Perlで3桁のダイヤル錠を総当たりで開ける。3重のfor文で1000通りを試す【ブルートフォース】
ゲームオーバーで最初からやり直しになるPerlのRPGに、Mooでセーブ機能を足してMementoパターンにたどり着く全10回【目次】
Player・PlayerSnapshot・GameManagerで作ったセーブ機能は、GoFの【Memento】パターンだった
ここまでの機能を1本にまとめたい。メニューから遊べるセーブ機能付きRPGを完成させる【CLI版RPG】
1
…
19
20
21
…
28