コード例 #1
0
ファイル: Program.cs プロジェクト: drypa/GofPatterns
        private static void Main(string[] args)
        {
            Manipulator manipulator = new Manipulator();
            Console.WriteLine(manipulator.GetState());

            RemoteController controller = new RemoteController(manipulator);
            controller.Up(10);
            Console.WriteLine(manipulator.GetState());

            controller.Left(20);
            Console.WriteLine(manipulator.GetState());

            controller.Right(10);
            Console.WriteLine(manipulator.GetState());

            controller.Down(30);
            Console.WriteLine(manipulator.GetState());

            controller.UndoLastCommand();
            Console.WriteLine(manipulator.GetState());

            controller.UndoLastCommand();
            Console.WriteLine(manipulator.GetState());

            controller.UndoLastCommand();
            Console.WriteLine(manipulator.GetState());

            controller.UndoLastCommand();
            Console.WriteLine(manipulator.GetState());

            Console.ReadLine();
        }
コード例 #2
0
ファイル: RemoteController.cs プロジェクト: drypa/GofPatterns
 public RemoteController(Manipulator manipulator)
 {
     this.manipulator = manipulator;
 }
コード例 #3
0
 public override void Undo(Manipulator manipulator)
 {
     manipulator.MoveVertical(Distance);
 }
コード例 #4
0
 public override void Undo(Manipulator manipulator)
 {
     manipulator.MoveHorisontal(-Distance);
 }
コード例 #5
0
 public abstract void Undo(Manipulator manipulator);