#include #include #include using namespace std; double x = 0, y = 0; double direction = 0; double scale = 1; char color = '#'; int pen = 0; void clear(); void penUp(); void penDown(); void setColor(char ch); void setScale(double factor); void move( double distance ); void rotate( double degrees ); void wait ( double seconds ); void drawHouse(); void drawPerson(); int main() { drawHouse(); drawPerson(); cout << "bye" << endl; return 0; } /********************** void drawHouse() ************/ void drawRoof(); void drawHouse(){ clear(); penUp(); rotate(45); move(30); penDown(); rotate(-45); for(int i=0; i<4; i++){ move(10); rotate(90); } drawRoof(); } void drawRoof(){ rotate(-45); setColor('/'); penUp(); move(-3); penDown(); move(3 + sqrt(50)); rotate(90); setColor('\\'); move(3 + sqrt(50)); } /********************** void drawPerson() ************/ void drawPerson(){ //circle rotate(135); penUp(); move(6.1); rotate(-90); setColor('.'); setScale(1.05); for(int i=0; i<360; i+=3){ penUp(); move(10); rotate(90); penDown(); move(2); penUp(); move(-2); rotate(-90); move(-10); rotate(3); wait(0.1); } penUp(); move(10); penDown(); setScale(0.15); setColor( '+' ); move(10); rotate(-45); move(30); penUp(); move(-30); rotate(90); move(30); penDown(); move(-30); rotate(-45); move(40); rotate(-45); move(30); penUp(); move(-30); rotate(90); move(30); penDown(); move(-30); rotate(-45); penUp(); move(30); } /********************** void clear() *****************/ void clear(){ cout << "\x1b[2J"; cout << "\x1b[0;0H"; } /********************** void wait(...) ***************/ void wait( double seconds ){ clock_t endwait; endwait = clock() + (int) (seconds * CLOCKS_PER_SEC); while (clock() < endwait) {} } /********************** void moveTo(...) *************/ void moveTo( double x, double y ){ cout << "\x1b[" << (int) floor(y+0.5) << ";" << (int) floor(x + 0.5) << "H"; }