/* Welcome to my interactive toy project! My name is Alexander Durocher, and I coded all this. While using the toy, you control a friendly dinosaur named Buddy. Buddy follows your mouse, allowing you to move him around the village. When you place your mouse over a house, the people will say hi to Buddy. If you hit any of the mouse buttons, Buddy will stick his tongue out. There is no winning, since this is a toy and not a game. Hope you enjoy! Blep! References: Learning Processing, 2nd Edition */ //Village Variables (Placement) int x1 = 245; int y1 = 45; int x2 = 105; int y2 = 270; int x3 = 295; int y3 = 210; //Dragon Colour Variables float dragR; float dragG; float dragB; void setup() { //Basic Setup size(400, 400); noCursor(); noStroke(); } void draw() { //Fix the Framerate from mouseClicked frameRate(60); //Planting Grass (Draw Background) background(0, 255, 0); //Call to Draw Village Function drawVillage(); //Friendly People Talking if (mouseX > x1-20 && mouseX < x1+20 && mouseY > y1-15 && mouseY < y1+15) { println("Howdy partner!"); } if (mouseX > x2-20 && mouseX < x2+20 && mouseY > y2-15 && mouseY < y2+15) { println("Oh hai Buddy!"); } if (mouseX > x3-20 && mouseX < x3+20 && mouseY > y3-15 && mouseY < y3+15) { println("Hello Dino!"); } //Fence(1) Loop int fX1 = 5; int fY1 = 69; int spaceBtwn1 = 10; int postLeng1 = 13; int endPost1 = 400; stroke(0); while (fX1 <= endPost1) { line (fX1, fY1, fX1, fY1 + postLeng1); fX1 = fX1 + spaceBtwn1; } //Fence(2) Loop int fX2 = 5; int fY2 = 360; int spaceBtwn2 = 10; int postLeng2 = 13; int endPost2 = 400; while (fX2 <= endPost2) { line (fX2, fY2, fX2, fY2 + postLeng2); fX2 = fX2 + spaceBtwn2; } //Third Fence line(145, 87, 145, 357); //Dino Call (Drawing the Dino) noStroke(); drawDino(); } void drawDino() { /*Buddy the Friendly Dino Rainbow Colours*/ dragR = random(0, 155); dragG = random(0, 155); dragB = random(0, 155); fill(dragR, dragG, dragB); //Drawing Buddy the Dino rect(mouseX+20, mouseY, 50, 30); //Body triangle(mouseX+45, mouseY+15, mouseX+45, mouseY-15, mouseX+115, mouseY+5); //Tail triangle(mouseX, mouseY-15, mouseX+10, mouseY-15, mouseX+10, mouseY-45); //Neck rect(mouseX, mouseY-40, 40, 20); //Head rect(mouseX-10, mouseY, 25, 10); //Arm rect(mouseX+25, mouseY+20, 15, 25); //Leg triangle(mouseX+17.5, mouseY+32.5, mouseX+17.5, mouseY+27.5, mouseX+12, mouseY+32.5); //Toe fill(255); ellipse(mouseX, mouseY-50, 10, 10); //Eye fill(0); ellipse(mouseX-2, mouseY-50, 5, 5); //Pupil } void drawVillage() { //It takes a Village (Village Setup) rectMode(CENTER); fill(111, 83, 13); rect(x1, y1, 40, 30); triangle(x1-25, y1-15, x1+25, y1-15, x1, y1-40); rect(x2, y2, 40, 30); triangle(x2-25, y2-15, x2+25, y2-15, x2, y2-40); rect(x3, y3, 40, 30); triangle(x3-25, y3-15, x3+25, y3-15, x3, y3-40); } void mousePressed() { //Tongue Sticking Out Code println("Blep!"); fill(255, 155, 255); frameRate(15); rect(mouseX-25, mouseY-35, 13, 5); }