// Informatik - Serie 11 - Skript-Aufgabe 125
// Program: HammerLisa.cpp
// Autor: Lisa Hammer
// Draws a turtle graphic of three functions f, g and h
#include
#include
void g (unsigned int i)
{
if (i == 0)
ifm::left(360);
else {
ifm::left(18);
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::save();
ifm::left(18);
g(i-1);
ifm::restore();
ifm::right(144);
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::save();
ifm::left(18);
g(i-1);
ifm::restore();
ifm::right(144);
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::save();
ifm::left(18);
g(i-1);
ifm::restore();
ifm::right(144);
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::save();
ifm::left(18);
g(i-1);
ifm::restore();
ifm::right(144);
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::forward();
ifm::save();
ifm::left(18);
g(i-1);
ifm::restore();
ifm::right(144);
}
}
void f (unsigned int i) {
if (i == 0)
ifm::forward();
else {
ifm::forward();
ifm::forward();
ifm::save();
ifm::right(20);
f(i-1);
f(i-1);
f(i-1);
ifm::right(20);
f(i-1);
f(i-1);
f(i-1);
ifm::restore();
ifm::save();
ifm::left(20);
f(i-1);
f(i-1);
f(i-1);
ifm::left(20);
f(i-1);
f(i-1);
f(i-1);
ifm::restore();
ifm::forward();
}
}
void h (unsigned int i)
{if (i==0)
ifm::left(360);
else
{
ifm::forward(i/2);
ifm::left(162);
ifm::forward(i);
ifm::left(144);
ifm::forward(i);
ifm::left(144);
ifm::forward(i);
ifm::left(144);
ifm::forward(i);
ifm::left(144);
ifm::forward(i);
ifm::left(162);
ifm::forward(i/2);
ifm::left(180);
h(i-1);
}
}
int main ()
{
unsigned int n=4;
ifm::left(18);
g(n);
ifm::left(54);
ifm::jump(-75);
ifm::right(90);
ifm::jump(2);
ifm::left(90);
f(n);
ifm::jump(-15);
ifm::forward(75);
ifm::jump(13);
n=10;
h(n);
return 0;
}