Exemple #1
0
 //Выполняет введенную команду
 public void ExecuteCommand(string input)
 {
     if (input.Length == 1)
     {
         char commandDirection = input[0];
         //Отмена последней команды
         if (commandDirection == 'c')
         {
             //Если стек команд не пуст
             if (rover._commands.Count != 0)
             {
                 //Взять и удалить последнюю команду из стека
                 ICommand c = rover._commands.Pop();
                 //Отменить эту команду
                 c.Undo();
             }
         }
         else
         {
             //Создать новую команду на передвижение
             var command = new RoverCommand(commandDirection, rover);
             //Выполнить ее
             command.Execute();
         }
     }
 }