// Informatik - Serie 9 - Assignment 3
// Program: lindenmayer_simpson.cpp
// Autor: Gianluca Vagli (Gruppe R)
#include
void f(unsigned int q)
{
if( q == 0)
{
ifm::forward(1);
ifm::left(90);
ifm::forward(220);
for ( unsigned int j = 0; j < 5; ++j)
{
ifm::left(72);
ifm::forward(70);
}
ifm::left(18);
ifm::forward(500);
ifm::right(148);
for (unsigned int i = 0; i < 6; ++i)
{
ifm::forward(100);
ifm::left(130 - 3*i);
ifm::forward(100);
ifm::right(130);
}
ifm::right(353);
ifm::forward(250);
ifm::left(30);
ifm::forward(50);
ifm::right(120);
ifm::forward(20);
ifm::left(150);
ifm::left(130);
for (unsigned int k = 1; k <= 1; ++k)
{
ifm::left(18);
ifm::forward(30);
}
ifm::left(200);
for (unsigned int k = 1; k <= 5; ++k)
{
ifm::right(18);
ifm::forward(30);
}
ifm::right(240);
for (unsigned int k = 1; k <= 9; ++k)
{
ifm::right(18);
ifm::forward(10);
}
ifm::right(3);
ifm::forward(60);
ifm::right(180);
ifm::forward(70);
ifm::left(3);
for (unsigned int k = 1; k <= 9; ++k)
{
ifm::left(18);
ifm::forward(10);
}
ifm::left(15);
ifm::forward(150);
ifm::left(180);
for (unsigned int k = 1; k <= 6; ++k)
{
ifm::left(18);
ifm::forward(30);
}
ifm::left(199);
for (unsigned int k = 1; k <= 13; ++k)
{
ifm::right(18);
ifm::forward(30);
}
ifm::right(180);
ifm::forward(30);
ifm::left(106);
ifm::forward(100);
ifm::right(90);
for (unsigned int k = 1; k <= 9; ++k)
{
ifm::right(18);
ifm::forward(8);
}
ifm::right(108);
ifm::forward(195);
ifm::right(90);
for (unsigned int k = 1; k <= 9; ++k)
{
ifm::right(18);
ifm::forward(8);
}
ifm::right(108);
ifm::forward(110);
ifm::right(180);
ifm::forward(30);
ifm::left(90);
ifm::jump(162);
ifm::forward(120);
ifm::right(90);
ifm::forward(180);
for (unsigned int k = 1; k <= 4; ++k)
{
ifm::right(9);
ifm::forward(40);
}
ifm::left(120);
for (unsigned int k = 1; k <= 4; ++k)
{
ifm::right(18);
ifm::forward(8);
}
ifm::left(162);
for (unsigned int k = 1; k <= 6; ++k)
{
ifm::left(18);
ifm::forward(8);
}
ifm::right(162);
for (unsigned int k = 1; k <= 2; ++k)
{
ifm::right(18);
ifm::forward(8);
}
ifm::right(309);
for (unsigned int k = 1; k <= 4; ++k)
{
ifm::left(9);
ifm::forward(40);
}
ifm::forward(20);
ifm::right(90);
for (unsigned int k = 1; k <= 4; ++k)
{
ifm::right(18);
ifm::forward(20);
}
ifm::right(9);
ifm::forward(50);
ifm::left(76);
ifm::forward(120);
}
else
{
ifm::forward(600);
f(q - 1);
ifm::left(90);
ifm::forward(600);
f(q - 1);
ifm::right(90);
ifm::forward(600);
f(q - 1);
ifm::left(90);
ifm::forward(600);
}
}
int main()
{
f(4);
return 0;
}