/// <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); }
/// <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); }