セクション
1543 ページ目
Posts
8桁1億通りを配列に入れるとメモリが尽きる。このシリーズで作ったものはIteratorパターンだった【遅延評価】
総当たりに辞書攻撃も足したいが、ツール本体は書き換えたくない。next を持つクラスを差し替える【ポリモーフィズム】
総当たりの再帰が読みにくく、止めて再開もできない。次の候補を返す next メソッドのクラスにする【Iterator】
パスワードが4桁、5桁、N桁と増えて、for文のネストを書き足せない。再帰で書いても残る問題【再帰】
Perlで3桁のダイヤル錠を総当たりで開ける。3重のfor文で1000通りを試す【ブルートフォース】
ゲームオーバーで最初からやり直しになるPerlのRPGに、Mooでセーブ機能を足してMementoパターンにたどり着く全10回【目次】
Player・PlayerSnapshot・GameManagerで作ったセーブ機能は、GoFの【Memento】パターンだった
ここまでの機能を1本にまとめたい。メニューから遊べるセーブ機能付きRPGを完成させる【CLI版RPG】
セーブスロットを3つ使い分けたい。スロットを選んでセーブ・ロードできるようにする【セーブスロット】
セーブデータを外から書き換えられると、ゲームの前提が崩れる。読み取り専用の属性で守る【カプセル化】
セーブし忘れると、ボス戦に負けた時に戻る先がない。ボス戦前とエリア移動で自動セーブする【オートセーブ】
セーブデータを1つしか持てない。複数のセーブを出し入れするGameManagerを作る【履歴管理】
保存した状態に戻したい。スナップショットからPlayerを復元して、セーブ→ダメージ→ロードを動かす【復元】
保存後の変更に巻き込まれない保存がしたい。状態を不変のオブジェクトにまとめる【スナップショット】
ゲームオーバーで最初からやり直しになる。変数にコピーして保存すると、保存した状態まで書き換わる【浅いコピー】
1
…
31
32
33
…
103