//floats for stuff in the interactive toy float grass1Y; float grass1X; float tree1Y; float tree1X; float oildrumX; float oildrumY; float pothole1X; float pothole1Y; float centermiddleX; float centermiddleY; //boolean for light on top of car boolean light = false; //window size void setup() { size(400, 400); background(0, 230, 0); frameRate(60); tree1X = 350; tree1Y = -50; pothole1X = 150; pothole1Y = -50; oildrumX = 250; oildrumY = -50; grass1X = 30; grass1Y = -50; centermiddleX = 1; centermiddleY= 1; } //drawing the objects void draw() { background(0, 230, 0); drawmainroad(); drawsideroad1(); drawsideroad2(); drawpothole1(); drawoildrum(); drawtree1(); drawcentermiddle(); drawgrass1(); drawCoolcar(); } //the coolest car ever(body) void drawCoolcar() { noStroke(); fill(230, 0, 0); rectMode(CENTER); rect(mouseX, mouseY, 30, 60); //Window fill(0, 0, 140); rectMode(CENTER); rect(mouseX, mouseY-20, 20, 10); //exhaust pipe fill(130); rectMode(CENTER); rect(mouseX, mouseY + 35, 10, 10); //front bumper fill(170); rectMode(CENTER); rect(mouseX, mouseY - 30, 30, 5); //roof window fill(0, 0, 255); rectMode(CENTER); rect(mouseX, mouseY + 10, 25, 15); //Back bumper fill(170); rectMode(CENTER); rect(mouseX, mouseY + 30, 30, 5); //Tires (bottom right) fill(150); rect(mouseX+20, mouseY +15, 10, 15); noStroke(); //Tires (bottom left) fill(150); rect(mouseX-20, mouseY +15, 10, 15); noStroke(); //Tires(top right) fill(150); rect(mouseX+20, mouseY - 10, 10, 15); noStroke(); //Tries(top left) fill(150); rect(mouseX-20, mouseY - 10, 10, 15); noStroke(); //light on top of car ( random colours) ellipseMode(CENTER); ellipse(mouseX, mouseY - 5, 15, 15); if (light == true) { mousePressed(); } else { light = false; } } void mousePressed() { //light on top of car ( random colours) int red = (int) random (0, 256); int green = (int) random (0, 256); int blue = (int) random (0, 256); light = true; fill (red, green, blue); ellipseMode(CENTER); ellipse(mouseX, mouseY - 5, 15, 15); } void mouseReleased() { light = false; } //Mainroad void drawmainroad() { fill(200); rectMode(CENTER); rect(200, 200, 225, 400); noStroke(); } //side road one(gray stripe on the left) void drawsideroad1() { fill(120); rectMode(CENTER); rect(95, 200, 20, 400); } //side road two(gray stripe on the right) void drawsideroad2() { fill(120); rectMode(CENTER); rect(305, 200, 20, 400); } //drawing the lines in the middle of the road(and looping them) void drawcentermiddle() { for (int i = 1; i < 30; i++) { fill(235, 235, 0); rectMode(CORNER); rect(200, i*30-25, 10, 20); } } //drawing the potholes ( one and two) void drawpothole1() { pothole1Y += 4; if ( pothole1Y >= 450) { pothole1Y = -50; } fill(70); ellipseMode(CENTER); ellipse(pothole1X, pothole1Y, 30, 20); } //drawing the oildrum and moving it down the y axis void drawoildrum() { oildrumY += 3.5; if (oildrumY >=450) { oildrumY = -50; } fill(119, 78, 8); rectMode(CENTER); rect(oildrumX, oildrumY, 30, 40); fill(130, 85, 20); rectMode(CENTER); rect(oildrumX, oildrumY, 20, 40); fill(150, 95, 32); rectMode(CENTER); rect(oildrumX, oildrumY, 10, 40); } //drawing tree and moving it down moves down the y axis void drawtree1() { tree1Y += 3; if (tree1Y > 450) { tree1Y = -50; } fill(175, 114, 7); rectMode(CENTER); rect(tree1X, tree1Y, 20, 50); fill(175, 114, 7); rectMode(CENTER); rect(tree1X, tree1Y, 40, 10); fill(17, 135, 4); ellipseMode(CENTER); ellipse(tree1X + 20, tree1Y, 20, 20); fill(17, 135, 4); ellipseMode(CENTER); ellipse(tree1X - 20, tree1Y, 20, 20); fill(17, 135, 4); ellipseMode(CENTER); ellipse(tree1X, tree1Y - 30, 40, 40); } //drawing the grass loops and making move down the Y axis (also looping) void drawgrass1() { for (int i = 1; i <= 10; i++) { grass1Y += 0.8; if (grass1Y >= 450) { grass1Y = -50; } fill(0, 142, 38); rectMode(CENTER); rect(i*5 + grass1X, grass1Y, 5, 20); } }