示例#1
0
        /// <summary>
        /// Kullanıcıdan talimatlarla geziciler hakkında gerekli bilgiler alınıyor.
        /// </summary>
        /// <param name="plateau">Plato nesnesi.</param>
        /// <returns>Geriye gezgin nesnesi döner</returns>
        private static Rover GetRoverInformation(Plateau plateau)
        {
            string roverLocation, movements = "";

            string[] roverLocationArr;

            int transactionInformation;

            do
            {
                Console.WriteLine("Geziciyi nereye konuşlandıracaksınız ?");

                roverLocation    = Console.ReadLine();
                roverLocationArr = roverLocation.Split(' ');

                if (!ValidationTool.IsLocationEntryCorrect(plateau, roverLocationArr))
                {
                    Console.WriteLine("Hatalı giriş yapıldı tekrar kontrol ederek giriş yapınız.");
                    transactionInformation = (int)(Command.Continue);
                    continue;
                }

                Console.WriteLine("Gezicinin izleyeceği adımları giriniz ? ");
                movements = Console.ReadLine();
                if (!ValidationTool.IsMovementEntryCorrect(movements.ToCharArray()))
                {
                    Console.WriteLine("Hatalı giriş yapıldı tekrar kontrol ederek giriş yapınız.");
                    transactionInformation = (int)(Command.Continue);
                    continue;
                }

                transactionInformation = 0;
            } while ((int)(Command.Continue) == transactionInformation);

            Point point = new Point();

            point.x = Convert.ToInt32(roverLocationArr[0]);
            point.y = Convert.ToInt32(roverLocationArr[1]);

            var rover = new Rover(plateau, point, Convert.ToChar(roverLocationArr[2]));

            rover.Go(movements);

            return(rover);
        }