static void Main(string[] args) { var robot = new Robot(); var robotController = new RobotController(); var command = new ForwardCommand(robot); command.Distance = 10; robotController.Commmands.Enqueue(command); command = new ForwardCommand(robot); command.Distance = 15; robotController.Commmands.Enqueue(command); command = new ForwardCommand(robot); command.Distance = -20; robotController.Commmands.Enqueue(command); robotController.ExcuteCommands(); robotController.UndoCommands(2); Console.ReadKey(); }
static void Main() { var robot = new Robot(); var controller = new RobotController(); var move = new MoveCommand(robot); move.ForwardDistance = 1000; controller.Commands.Enqueue(move); var rotate = new RotateLeftCommand(robot); rotate.LeftRotationAngle = 45; controller.Commands.Enqueue(rotate); var scoop = new TakeSampleCommand(robot); scoop.TakeSample = true; controller.Commands.Enqueue(scoop); controller.ExecuteCommands(); controller.UndoCommands(3); }