void setup() { size (400, 400); colorMode(RGB, 100); background(10, 60, 10); smooth(); //Houses rectMode(CENTER); rect(200, 320, 20, 20); rect(220, 325, 20, 20); rect(265, 330, 20, 20); rect(230, 350, 20, 20); rect(275, 360, 20, 20); rect(300, 335, 20, 20); rect(380, 375, 20, 20); rect(335, 340, 20, 20); rect(310, 360, 20, 20); rect(345, 380, 20, 20); rect(100, 380, 20, 20); rect(190, 360, 20, 20); rect(175, 340, 20, 20); rect(130, 350, 20, 20); rect(145, 310, 20, 20); rect(80, 315, 20, 20); rect(20, 385, 20, 20); rect(35, 320, 20, 20); rect(60, 350, 20, 20); rect(345, 310, 20, 20); //doors fill(60, 50, 30); rect(200, 325, 4, 10); rect(220, 330, 4, 10); rect(265, 335, 4, 10); rect(230, 355, 4, 10); rect(275, 365, 4, 10); rect(300, 340, 4, 10); rect(380, 380, 4, 10); rect(335, 345, 4, 10); rect(310, 365, 4, 10); rect(345, 385, 4, 10); rect(100, 385, 4, 10); rect(190, 365, 4, 10); rect(175, 345, 4, 10); rect(130, 355, 4, 10); rect(145, 315, 4, 10); rect(80, 320, 4, 10); rect(20, 390, 4, 10); rect(35, 325, 4, 10); rect(60, 355, 4, 10); rect(345, 315, 4, 10); } void draw () { //COMMENT PRINT LINE OUT!! println(mouseX, mouseY); noStroke(); strokeWeight(1); rectMode(CENTER); ellipseMode(CENTER); //sky fill(0, 0, 100); rect(200, 100, 400, 200); //Cloud fill(100); ellipse(frameCount/8, 50, 50, 50); ellipse(frameCount/8-30, 50, 50, 50); ellipse(frameCount/8+30, 50, 50, 50); ellipse(frameCount/8, 20, 50, 50); //Wizard coat fill(100); triangle(220, 120, 180, 120, 200, 70); rect(200, 85, 20, 20); stroke(0); fill(50, 80, 90); rect(200, 110, 10, 70); //arming holding staff stroke(100); strokeWeight(5); line(160, 95, 190, 78); stroke(0); strokeWeight(1); fill(90, 80, 90); ellipse(160, 95, 9, 8); //Magic Staff fill(100); rect(160, 100, 6, 60); fill(100, 0, 0); rect(160, 75, 6, 3); fill(20, 100, 20); ellipse(160, 65, 10, 10); fill(0); rect(160, 70, 8, 3); //thumb fill(90, 80, 90); ellipse(162, 93, 3, 3); //Spellcasting Arm stroke(100); strokeWeight(5); line(210, 78, 190+mouseX*0.1, 100); stroke(0); strokeWeight(1); fill(90, 80, 90); ellipse(190+mouseX*0.1, 100, 8, 8); //neck fill(90, 80, 90); rect(200, 70, 8, 10); //hair noStroke(); fill(50, 70, 90); quad(180, 70, 200, 50, 220, 70, 200, 65); quad(175, 60, 200, 40, 225, 50, 200, 60); quad(175, 40, 200, 40, 225, 60, 200, 60); quad(180, 50, 200, 40, 225, 40, 200, 70); //head stroke(0); fill(90, 80, 90); ellipse(185, 55, 5, 5); ellipse(215, 55, 5, 5); ellipse(200, 50, 30, 40); //eyes fill(100); arc(193, 48, 9, 9, (QUARTER_PI/2)*-1, PI+QUARTER_PI); arc(207, 48, 9, 9, QUARTER_PI*-1, PI+(QUARTER_PI/2)); //pupils fill(0); ellipse(207, 50, 1, 1); ellipse(193, 50, 1, 1); //under eye wrinkles noFill(); curve(203, 50, 204, 54, 210, 54, 209, 50); curve(197, 50, 196, 54, 190, 54, 191, 50); //Nose curve(199, 0, 198, 53, 202, 53, 201, 0); //Mouth curve(190, 50, 193, 62, 207, 62, 210, 50); //mouth wrinkles curve(200, 60, 192, 60, 192, 64, 200, 64); curve(200, 60, 208, 60, 208, 64, 200, 64); //Wizard hat fill(50, 80, 90); triangle(200, 10, 187, 40, 213, 40); //Star on hat fill(100); noStroke(); triangle(200, 25, 195, 35, 200, 33); triangle(200, 25, 205, 35, 200, 33); triangle(207, 30, 193, 30, 200, 33); //Unibrow noFill(); stroke(50, 70, 90); strokeWeight(2); curve(190, 30, 191, 43, 209, 43, 210, 30); //Castle fill(50); stroke(0); strokeWeight(1); rectMode(CORNERS); rect(140, 120, 260, 300); line(140, 150, 260, 150); line(140, 170, 260, 170); line(140, 190, 260, 190); line(140, 210, 260, 210); line(140, 230, 260, 230); line(140, 250, 260, 250); line(140, 270, 260, 270); line(164, 120, 164, 300); line(188, 120, 188, 300); line(213, 120, 213, 300); line(237, 120, 237, 300); //left wall quad(0, 120, 0, 270, 140, 300, 140, 150); line(140, 150, 0, 120); line(140, 170, 0, 140); line(140, 190, 0, 160); line(140, 210, 0, 180); line(140, 230, 0, 200); line(140, 250, 0, 220); line(140, 270, 0, 240); line(140, 300, 0, 270); //Y=0.2X+120, Y=0.2X+270 yay math line(110, 142, 110, 292); line(70, 134, 70, 284); line(30, 126, 30, 276); //Right wall quad(400, 120, 400, 270, 260, 300, 260, 150); line(260, 150, 400, 120); line(260, 170, 400, 140); line(260, 190, 400, 160); line(260, 210, 400, 180); line(260, 230, 400, 200); line(260, 250, 400, 220); line(260, 270, 400, 240); line(260, 300, 400, 270); line(290, 142, 290, 292); line(330, 134, 330, 284); line(370, 126, 370, 276); } void mousePressed() { //Staff flash noStroke(); fill(0, 100, 0); ellipse(160, 65, 15, 15); //Portal fill(20, 100, 20); ellipse(mouseX, mouseY, 100, 100); stroke(0, 50, 0); strokeWeight(6); ellipse(mouseX, mouseY, 80, 80); ellipse(mouseX, mouseY, 60, 60); ellipse(mouseX, mouseY, 30, 30); noStroke(); fill(0, 80, 0); ellipse(mouseX+20, mouseY+17, 9, 12); ellipse(mouseX-13, mouseY-20, 10, 13); ellipse(mouseX+20, mouseY-12, 12, 11); ellipse(mouseX+13, mouseY-20, 13, 12); ellipse(mouseX-25, mouseY+14, 12, 13); ellipse(mouseX-12, mouseY+25, 10, 11); ellipse(mouseX+25, mouseY-16, 13, 11); ellipse(mouseX, mouseY+26, 9, 12); ellipse(mouseX, mouseY-20, 10, 13); ellipse(mouseX, mouseY-27, 12, 11); ellipse(mouseX, mouseY+24, 13, 12); ellipse(mouseX, mouseY+23, 12, 13); ellipse(mouseX, mouseY+20, 10, 11); ellipse(mouseX, mouseY-26, 13, 11); ellipse(mouseX-26, mouseY, 9, 12); ellipse(mouseX+21, mouseY, 10, 13); ellipse(mouseX-25, mouseY, 12, 11); ellipse(mouseX+21, mouseY, 13, 12); ellipse(mouseX-23, mouseY, 12, 13); ellipse(mouseX+21, mouseY, 10, 11); ellipse(mouseX-22, mouseY, 13, 11); ellipse(mouseX-20, mouseY-23, 9, 12); ellipse(mouseX+23, mouseY+25, 10, 13); ellipse(mouseX-25, mouseY+27, 12, 11); ellipse(mouseX+20, mouseY-24, 13, 12); ellipse(mouseX-23, mouseY-23, 12, 13); ellipse(mouseX+20, mouseY-20, 10, 11); ellipse(mouseX-22, mouseY+26, 13, 11); ellipse(mouseX+24, mouseY-20, 12, 8); ellipse(mouseX+22, mouseY+24, 15, 10); ellipse(mouseX+22, mouseY-26, 9, 13); fill(0, 75, 0); ellipse(mouseX, mouseY+7, 9, 12); ellipse(mouseX-13, mouseY, 10, 13); ellipse(mouseX, mouseY-12, 12, 11); ellipse(mouseX+13, mouseY, 13, 12); ellipse(mouseX, mouseY+14, 12, 13); ellipse(mouseX-12, mouseY, 10, 11); ellipse(mouseX, mouseY-16, 13, 11); ellipse(mouseX, mouseY+16, 9, 12); ellipse(mouseX-13, mouseY, 10, 13); ellipse(mouseX+15, mouseY-17, 12, 11); ellipse(mouseX-14, mouseY+14, 13, 12); ellipse(mouseX+13, mouseY+13, 12, 13); ellipse(mouseX-14, mouseY, 10, 11); ellipse(mouseX+14, mouseY-16, 13, 11); ellipse(mouseX-1, mouseY-25, 9, 12); ellipse(mouseX+1, mouseY+25, 10, 13); ellipse(mouseX-5, mouseY+24, 12, 11); ellipse(mouseX+1, mouseY-24, 13, 12); ellipse(mouseX-3, mouseY-24, 12, 13); ellipse(mouseX+1, mouseY-25, 10, 11); ellipse(mouseX-2, mouseY+26, 13, 11); ellipse(mouseX-20, mouseY-10, 9, 12); ellipse(mouseX+23, mouseY+10, 10, 13); ellipse(mouseX-25, mouseY+7, 12, 11); ellipse(mouseX+20, mouseY-14, 13, 12); ellipse(mouseX-23, mouseY-13, 12, 13); ellipse(mouseX+20, mouseY-10, 10, 11); ellipse(mouseX-22, mouseY+6, 13, 11); ellipse(mouseX+24, mouseY-10, 12, 8); ellipse(mouseX+22, mouseY+10, 15, 10); ellipse(mouseX+22, mouseY-10, 9, 13); fill(80, 95, 80); ellipse(mouseX+30, mouseY+30, 9, 12); ellipse(mouseX-33, mouseY-30, 10, 13); ellipse(mouseX+35, mouseY-27, 12, 11); ellipse(mouseX-30, mouseY+34, 13, 12); ellipse(mouseX+23, mouseY+43, 12, 13); ellipse(mouseX-20, mouseY+40, 10, 11); ellipse(mouseX+42, mouseY-26, 13, 11); ellipse(mouseX+40, mouseY+20, 9, 12); ellipse(mouseX-43, mouseY-20, 10, 13); ellipse(mouseX+45, mouseY-27, 12, 11); ellipse(mouseX-40, mouseY+24, 13, 12); ellipse(mouseX+43, mouseY+23, 12, 13); ellipse(mouseX-40, mouseY+20, 10, 11); ellipse(mouseX+42, mouseY-26, 13, 11); ellipse(mouseX-10, mouseY-50, 9, 12); ellipse(mouseX+13, mouseY+50, 10, 13); ellipse(mouseX-5, mouseY+47, 12, 11); ellipse(mouseX+10, mouseY-44, 13, 12); ellipse(mouseX-13, mouseY-43, 12, 13); ellipse(mouseX+10, mouseY-50, 10, 11); ellipse(mouseX-12, mouseY+46, 13, 11); ellipse(mouseX-50, mouseY-10, 9, 12); ellipse(mouseX+43, mouseY+10, 10, 13); ellipse(mouseX-45, mouseY+7, 12, 11); ellipse(mouseX+50, mouseY-14, 13, 12); ellipse(mouseX-43, mouseY-13, 12, 13); ellipse(mouseX+50, mouseY-10, 10, 11); ellipse(mouseX-42, mouseY+6, 13, 11); ellipse(mouseX, mouseY-16, 9, 12); ellipse(mouseX+13, mouseY, 10, 13); ellipse(mouseX+15, mouseY+17, 12, 11); ellipse(mouseX+14, mouseY-14, 13, 12); ellipse(mouseX-13, mouseY-13, 12, 13); ellipse(mouseX+14, mouseY, 10, 11); ellipse(mouseX-14, mouseY+16, 13, 11); }