using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Zelva { /// /// Třída pro želvu /// class Zelva { public Double x, y; public Boolean penDown; public String program; public Int16 uhel; public System.Drawing.Pen pero; public Zelva(Int32 x, Int32 y) { this.x = x; this.y = y; penDown = false; pero=System.Drawing.Pens.Black; uhel = 270; // 0° východ, 90° jih, 180° západ, 270° sever. A želva implicitně čimí na sever. } /// /// Zničí všechny bílé znaky uvnitř programu /// public void shrinkProgram() { String parsovanyProgram = ""; foreach(Char aktZnak in this.program) { if ((aktZnak != ' ') && (aktZnak != '\r') && (aktZnak != '\n')) { // Znak není bílý, připíše se do programu parsovanyProgram += aktZnak.ToString(); } } this.program = parsovanyProgram; } public List parseProgram() { List seznam=new List(); // rozdělím volání funkcí podle pravých závorek - ty nebudou potřeba String[] prikazy = program.Split(')'); // převedu na příkazy foreach (string prikaz in prikazy) { seznam.Add(new Prikaz(prikaz)); } return seznam; } /// /// Provádí korekci úhlu želvy /// public void angleCorrection() { if (uhel < 0) uhel += 360; if (uhel > 360) uhel -= 360; } } }