Tags
11 ページ目
Moo-Game-Save
ゲームオーバーで最初からやり直しになるPerlのRPGに、Mooでセーブ機能を足してMementoパターンにたどり着く全10回【目次】
Player・PlayerSnapshot・GameManagerで作ったセーブ機能は、GoFの【Memento】パターンだった
ここまでの機能を1本にまとめたい。メニューから遊べるセーブ機能付きRPGを完成させる【CLI版RPG】
セーブスロットを3つ使い分けたい。スロットを選んでセーブ・ロードできるようにする【セーブスロット】
セーブデータを外から書き換えられると、ゲームの前提が崩れる。読み取り専用の属性で守る【カプセル化】
セーブし忘れると、ボス戦に負けた時に戻る先がない。ボス戦前とエリア移動で自動セーブする【オートセーブ】
セーブデータを1つしか持てない。複数のセーブを出し入れするGameManagerを作る【履歴管理】
保存した状態に戻したい。スナップショットからPlayerを復元して、セーブ→ダメージ→ロードを動かす【復元】
保存後の変更に巻き込まれない保存がしたい。状態を不変のオブジェクトにまとめる【スナップショット】
ゲームオーバーで最初からやり直しになる。変数にコピーして保存すると、保存した状態まで書き換わる【浅いコピー】
PerlとMooでRPGのPlayerクラスを作る。HP・所持金・位置を持たせて移動と戦闘を動かす【Playerクラス】