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