// Sketch: A Simple Robot
// By: Deepak Kumar
// Date: September 19, 2022
void setup() {
   size(800, 800);
   background(255);
} // setup()
void draw() {
   drawRobot(150, 200, 150);
} /// draw()
void drawRobot(float x, float y, float sz) {
   
   float h = 0.6 * sz, w = sz;
   
   // Draw Face
   noFill();
   rect(x, y, w, h);
   
   // Draw Ears
   float earH = h/2, earW = w * 0.1;
   fill(100);
   rect(x-earW, y+h/4.0, earW, earH);
   rect(x+w, y+h/4.0, earW, earH);
   
   // Draw Eyes
   float eyeW = 0.4*h;
   float eyeX = x+w*0.25;
   float eyeY = y + 0.3*h;
   noFill();
   circle(eyeX, eyeY, eyeW);
   fill(0);
   circle(eyeX, eyeY, eyeW*0.5);
   
   noFill();
   circle(eyeX+w*0.5, eyeY, eyeW);
   fill(0);
   circle(eyeX+w*0.5, eyeY, eyeW*0.5);
   
   // Draw Mouth
   noFill();
 float mouthY = y + 0.6*h;
   float mouthW = w*0.5, mouthH = h*0.25;
   float mouthX = x + mouthW/2;
   
   fill(200);
   rect(mouthX, mouthY, mouthW, mouthH);
   
   // Teeth
   line(mouthX+mouthW/4, mouthY, mouthX+mouthW/4, mouthY+mouthH);
   line(mouthX+mouthW/2, mouthY, mouthX+mouthW/2, mouthY+mouthH);
   line(mouthX+mouthW*0.75, mouthY, mouthX+mouthW*0.75, mouthY+mouthH);
   
   // Draw Antenna
   float antennaH = h*0.4;
   line(x+w/2, y, x+w/2, y-antennaH);
   fill(0);
   circle(x+w/2.0, y-antennaH, 0.1*w);
   
   // Draw base
   fill(0);
   float baseW = w/2, baseH = h * 0.1;
   rect(x+w/4, y+h, baseW, baseH);
} // drawRobot
void mousePressed() {
   drawRobot(mouseX, mouseY, random(100, 250));
} // mousePressed()