Example #1
0
        //备忘录
        public static void testMemento()
        {
            //大战Boss前
            GameRole lixiaoyao = new GameRole();

            lixiaoyao.GetInitState();
            lixiaoyao.StateDisplay();

            //保存进度
            RoleStateCaretaker stateAdmin = new RoleStateCaretaker();

            stateAdmin.Memento = lixiaoyao.SaveState();

            //大战Boss时,损耗严重
            lixiaoyao.Fight();
            lixiaoyao.StateDisplay();

            //恢复之前状态
            lixiaoyao.RecoveryState(stateAdmin.Memento);

            lixiaoyao.StateDisplay();


            Console.Read();
        }
        public void UltmateExcute()
        {
            Console.WriteLine(" BOSS Bettle Before.");
            GamePlayer lix = new GamePlayer();

            lix.GetInitState();          //初始化
            lix.StateDisplay();          //顯示資料

            Console.WriteLine(" Save."); //紀錄
            RoleStateCaretaker sataeAdmin = new RoleStateCaretaker();

            sataeAdmin.Memento = lix.SaveState();

            Console.WriteLine(" Boss Bettle After.");
            lix.Fight();
            lix.StateDisplay();

            Console.WriteLine(" Load.");
            lix.RecoveryState(sataeAdmin.Memento);
            lix.StateDisplay();
        }