a61ffc9a8500e36cfd703ade3b1688df05e94665.svn-base 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package samples.Memento.Sample;
  2. import samples.Memento.Sample.game.Gamer;
  3. import samples.Memento.Sample.game.Memento;
  4. public class Main {
  5. public static void main(String[] args) {
  6. Gamer gamer = new Gamer(100); // 开始金额100
  7. Memento memento = gamer.createMemento(); // 预先存储初始状态
  8. for (int i = 0; i < 100; i++) {
  9. System.out.println("==== " + i); //输出次数
  10. System.out.println("现况:" + gamer); //输出主人目前状态
  11. gamer.bet(); //开始游戏
  12. System.out.println("手边金钱总额" + gamer.getMoney() + "元。");
  13. // Memento偺庢傝埖偄偺寛掕
  14. if (gamer.getMoney() > memento.getMoney()) {
  15. System.out.println(" 赢了不少,存储目前状态");
  16. memento = gamer.createMemento();
  17. } else if (gamer.getMoney() < memento.getMoney() / 2) {
  18. System.out.println(" 因为输了很多,故回复前次状态");
  19. gamer.restoreMemento(memento);
  20. }
  21. //线程等待
  22. try {
  23. Thread.sleep(1000);
  24. } catch (InterruptedException e) {
  25. }
  26. System.out.println("");
  27. }
  28. }
  29. }