Exercise 7-10
and the code…
void setup() {
size(600, 300);
smooth();
background(240);
rectMode(CENTER);
// done with setup
}
void draw() {
background(240); // this kepps the whole thing from redrawing itself
drawRobot(80,mouseX-200,mouseY);
drawRobot(120,mouseX,mouseY);
drawRobot(60,mouseX+160,mouseY);
}
void drawRobot(int robotWidth, int xPos, int yPos) {
// robotWidth is the width of the robot body
// xPos and yPos are the x and y coordinates of the center of the robot
// body and arms
fill(200); // make it grey
rect(xPos,yPos,robotWidth,robotWidth*.6); //body is 50x30
ellipse(xPos-robotWidth*.6,yPos-robotWidth*.1,robotWidth*.2,robotWidth*.2);
ellipse(xPos+robotWidth*.6,yPos-robotWidth*.1,robotWidth*.2,robotWidth*.2);
// legs
float legStart = xPos-robotWidth*.3;
for (int i=0; i<2; i++) {
rect(legStart,yPos+robotWidth*.4,robotWidth*.2,robotWidth*.2);
legStart = legStart+robotWidth*.6;
}
// head
rect(xPos,yPos-robotWidth*.45,robotWidth*.8,robotWidth*.3); // head is 40x15
// mouth
fill(255);
rect(xPos,yPos-robotWidth*.37,robotWidth*.4,robotWidth*.06);
// eyes
if (mousePressed == true) {
fill(255,0,0); // make the eyes red
} else {
fill(255); // make the eyes white
}
ellipse(xPos-robotWidth*.18,yPos-robotWidth*.49,robotWidth*.1,robotWidth*.1);
ellipse(xPos+robotWidth*.18,yPos-robotWidth*.49,robotWidth*.1,robotWidth*.1);
}