セクション
1543 ページ目
Posts
clone() したスライムの色だけ変えて、赤・青・金の色違いを量産する。強化版も作れる【clone】
Moo のスライムを MooX::Clone の clone() で複製すると、30行が3行になる【clone】
Moo で同じスライムを10体作ると、new() の属性指定だけで30行以上になる【コンストラクタ】
ログも実績もサウンドも足すたびに攻撃処理が膨らむPerlのローグライクを、Mooで通知の仕組みに分けてObserverパターンにたどり着く全10回【目次】
作ってきた通知の仕組みに名前が付く。Observer パターンと、Pub/Sub・Mediator との違い【Observer パターン】
ログ・実績・サウンド・統計をまとめて、ダンジョンを探索できる CLI にする。ローグライク通知システムの完成【統合】
統計の集計を足したいが、既存のコードには触りたくない。新しい通知先を1つ作って足すだけで済ませる【開放閉鎖原則】
通知先に、関係ないオブジェクトを登録してもエラーにならない。does 制約で登録の時点で弾く【型チェック】
夜中だけサウンドを切りたい。ゲームの実行中に、通知先を追加したり外したりする【動的な管理】
通知先を呼ぶ処理が、まだ攻撃のメソッドに残っている。通知先を一括で管理して知らせる GameEventEmitter を作る【attach/detach/notify】
通知を受け取るクラスが増えても、update を書き忘れて落ちないようにしたい。Moo::Role の requires で約束にする【Moo::Role】
ログと実績の処理を、攻撃のメソッドから切り離したい。通知を受け取るクラスに分ける【責務の分離】
実績システムを足したら、攻撃のメソッドが if/else だらけになった。通知先が増えるほど直しにくくなる理由を体感する
敵を倒したらダンジョン探索のログに残したい。まず say で直接出力する素朴な実装から始める【ゲームイベント】
Perlの総当たりパスワードクラッカーを、for文から再帰、Mooのクラスへ作り替えてIteratorにたどり着く全5回【目次】
1
…
30
31
32
…
103