/// <summary> /// Betömoríti az utasítássorozatot. /// </summary> /// <returns>Tömorített utasítássorozat.</returns> public string Tomorit() { // Kezdetben a tömörített utasítássorozat üres. string tomoritett = ""; // Végigmegyünk az utasításokon. for (int i = 0; i < utasitasok.Count; i++) { // Eltráoljuk az akutális irányt Irany aktualis = utasitasok[i]; // j index, ami az i utáni elemre mutat. int j = i + 1; // Cikluas amíg a j nem indexel túl és a j-edik elem megegyezik az i-edikkel. while (j < utasitasok.Count && aktualis == utasitasok[j]) { // Növeljük a j értékét. j++; } // Ha a j értéke nem egyezik meg az i+1-gyek, akkor találunk még ugyanolyan // utasítást. if (j != i + 1) { // Beleírjuk, hogy mennyit. tomoritett += j - i; // i értékét j-re állítjuk, hogy a j+1-edik elemtől folytatódjon. i = j - 1; } // Beleírjuk az irány betűjét. tomoritett += aktualis.ToString(); } return(tomoritett); }
static void kiir(string szoveg, Irany irany) { switch (irany) { case Program.Irany.JOBBRA: for (int i = 0; i < TEXTBOX_X - szoveg.Length; i++) { Console.Write(" "); } Console.WriteLine(szoveg); break; case Program.Irany.KOZEPRE: for (int i = 0; i < TEXTBOX_X / 2 - szoveg.Length / 2; i++) { Console.Write(" "); } Console.WriteLine(szoveg); break; default: Console.WriteLine(szoveg); break; } }
public void Atvalt(Irany irany, int osszeg, out double eredmeny) { eredmeny = 0; switch (irany) { case Irany.FtEur: eredmeny = osszeg / EurErteke; break; case Irany.EurFt: eredmeny = osszeg * EurErteke; break; } }
/// <summary> /// Metódus koordináta mozgatására, a megadott irányba. /// </summary> /// <param name="irany">Mozgatás iránya.</param> public void Mozgat(Irany irany) { switch (irany) { case Irany.E: y++; break; case Irany.K: x++; break; case Irany.N: x--; break; case Irany.D: y--; break; } }