Exemple #1
0
        // Client
        static void Main(string[] args)
        {
            var bot        = new Robot();
            var controller = new RobotController(bot);

            // create and set commands to receiver
            controller.AddCommand(new GoStraightCommand());
            controller.AddCommand(new GoStraightCommand());
            controller.AddCommand(new GoRightCommand());
            controller.AddCommand(new GoBackCommand());
            controller.AddCommand(new GoLeftCommand());
            controller.AddCommand(new GoStraightCommand());
            controller.AddCommand(new GoLeftCommand());

            controller.Execute();
        }
Exemple #2
0
        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();
        }
Exemple #3
0
        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);
        }