Esempio n. 1
0
        /// <summary>
        /// Visszaadja, hogy az utasitassorozat végén hova jut a robot.
        /// </summary>
        /// <returns>A végső koordináta.</returns>
        public Koordinata HovaJut()
        {
            // Létrehozunk egy új Koordinata az origóban.
            Koordinata hely = new Koordinata(0, 0);

            // Végigmegyünk az összes utasításon.
            for (int i = 0; i < utasitasok.Count; i++)
            {
                // Minden utasításnál a megfelelő irányba mozgatjuk a Koordinátát.
                hely.Mozgat(utasitasok[i]);
            }
            // Visszaadjuk a végő helyet.
            return(hely);
        }
Esempio n. 2
0
        /// <summary>
        /// Visszadja, hogy a robot hol volt a legtávolabb az origótól, és a
        /// referenciaként átadott paraméterben, hogy hanyadik lépés után.
        /// </summary>
        /// <param name="lepesekSzama">Hány lépés után volt a legtávolabb.</param>
        /// <returns>A legtávolabbi pont koordinátája.</returns>
        public Koordinata HolVanALegtavolabb(ref int lepesekSzama)
        {
            // Feltétlezzünk, hogy a legtávolabbi pont az origó.
            Koordinata legmesszebb = new Koordinata(0, 0);;
            // Eltároljuk az akutális helyet
            Koordinata akutalisHely = new Koordinata(0, 0);

            // Végigmegyünk az összes lépésen.
            for (int i = 0; i < utasitasok.Count; i++)
            {
                // Minden utasításnál a megfelelő irányba mozgatjuk a Koordinátát.
                akutalisHely.Mozgat(utasitasok[i]);

                // Megnézzük, hogy messzebb van-e, mint az idáigi legtávolabbi pont.
                if (akutalisHely.MennyireMesszeAzOrigotol() > legmesszebb.MennyireMesszeAzOrigotol())
                {
                    // Ha igen, akkor eltároljuk, hogy ez az idáigi legmeszebbi hely.
                    legmesszebb  = new Koordinata(akutalisHely);
                    lepesekSzama = i + 1;
                }
            }

            return(legmesszebb);
        }