//Author: Benedict Kupper
//Program: KupperBenedict.cpp
#include
#include
#include
void e (const int i) {
if (i <= 0) {
ifm::forward(); // F
}
else {
ifm::right();
ifm::forward ();
ifm::save();
ifm::left (90);
ifm::forward(2*i);
e(i-1);
ifm::restore();
}
}
void f (const int i) {
if (i <= 0) {
ifm::forward(); // F
}
else {
int p = (rand()%25)+1;
ifm::save();
ifm::left(p);
ifm::forward(10*i);
f(i-1);
ifm::restore();
ifm::forward();
ifm::save();
ifm::right(p);
ifm::forward(10*i);
f(i-1);
ifm::restore();
}
}
void g (const int i) {
if (i <= 0) {
ifm::forward(); // F
}
else {
ifm::left();
ifm::forward ();
ifm::save();
ifm::right (90);
ifm::forward(2*i);
g(i-1);
ifm::restore();
}
}
int main () {
std::cout << "Number of iterations =? ";
int n;
std::cin >> n;
// draw w_n = w_n(F)
ifm::left(90);
e(n);
f(8);
g(n);
return 0;
}