Ejemplo n.º 1
0
        public static void RunCommand(this Rover rover, string command)
        {
            var commandArray = command.ToCharArray();
            var stopCommand  = false;

            foreach (var item in commandArray)
            {
                if (ValidCommand.Contains(item))
                {
                    switch (item)
                    {
                    case 'L':
                        Turn(rover, Side.Left);
                        break;

                    case 'R':
                        Turn(rover, Side.Right);
                        break;

                    case 'M':
                        if (rover.CanItMove())
                        {
                            Move(rover);
                        }
                        else
                        {
                            stopCommand = true;
                            Console.WriteLine("Gezgin mevcut yönde ({0}) daha fazla ilerleyemez", rover.Direction.ToString());
                        }
                        break;
                    }
                    if (stopCommand)
                    {
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("Geçersiz komut: " + item);
                    break;
                }
            }
        }