public void DoWork()
        {
            // 創造一個遊戲角色
            GamePlayer player = new GamePlayer("jojo", 100, 80, 0);

            player.ShowState();

            // 存檔
            GameCaretaker caretaker = new GameCaretaker();

            caretaker.setMemento("s1", player.saveToMemento());

            // 打小怪1
            player.play(-10, -10, 10);
            player.ShowState();
            caretaker.setMemento("s2", player.saveToMemento());
            //故意重複檔名
            caretaker.setMemento("s2", player.saveToMemento());

            // 打小怪2
            player.play(-10, -10, 10);
            player.ShowState();
            caretaker.setMemento("s3", player.saveToMemento());

            // 打小怪3
            player.play(-10, -10, 10);
            player.ShowState();
            caretaker.setMemento("s4", player.saveToMemento());
            caretaker.removeMemento("s1");
            caretaker.setMemento("s4", player.saveToMemento());

            // 打boss
            player.play(-70, -30, -30);
            player.ShowState();

            // 重新讀取存檔
            player.restoreFromMemento(caretaker.getMemento("s1"));
            player.restoreFromMemento(caretaker.getMemento("s3"));
            player.ShowState();
            player.restoreFromMemento(caretaker.getMemento("s4"));
            player.ShowState();

            caretaker.ShowMementos();
        }