/* Daemon Nik Kupczyk September 19th, 2017 Clicking adds bright violet markings, changes his facial features violet, and shoots a laser at the mouse location. Pressing a button on the keyboard will unfurl his wings, move his arms, add orange markings, and create a circle of power behind him. It took a while to transfer all of the coordinates, but this was fun to design and make otherwise */ void setup() { size(400, 400); background(0, 0, 0); //noCursor(); smooth(); //trying to make it less pixelated } void draw() { ellipseMode(CENTER); // black screen to cover the fact that when you click it doesnt un-draw things fill(0); quad(0, 0, 400, 0, 400, 400, 0, 400); //wings y'all //right stroke(140, 37, 45); //strokes are bad fill(192, 55, 72); quad(210, 190, 290, 130, 390, 210, 260, 240); //left quad(170, 190, 110, 130, 10, 220, 140, 250); stroke(111); strokeWeight(2); fill(150); triangle(270, 200, 320, 200, 290, 280); triangle(320, 170, 360, 250, 270, 200); quad(290, 130, 390, 170, 295, 175, 295, 150); quad(295, 175, 390, 170, 270, 200, 290, 180); //Head of the forbidden one, i should have started this earlier // lighter red fill(106, 20, 26); noStroke(); ellipse(190, 148, 60, 35); triangle(180, 133, 190, 110, 200, 133); quad(172, 160, 190, 160, 190, 174, 172, 170); quad(208, 160, 190, 160, 190, 174, 208, 170); triangle(190, 160, 230, 200, 150, 200); ellipse(230, 205, 35, 35); ellipse(150, 205, 35, 35); strokeWeight(2); stroke(159, 38, 53); line(180, 133, 190, 110); line(190, 110, 200, 133); line(180, 142, 190, 125); line(190, 125, 200, 143); noFill(); strokeWeight(1); arc(210, 190, 40, 40, PI, PI+HALF_PI); arc(170, 190, 40, 40, PI+HALF_PI, TWO_PI); noStroke(); fill(106, 20, 26); triangle(190, 190, 180, 160, 200, 160); noFill(); stroke(149, 28, 43); arc(210, 186, 40, 33, PI, PI+HALF_PI); arc(170, 186, 40, 33, PI+HALF_PI, TWO_PI); arc(214, 165, 12, 12, HALF_PI, PI+HALF_PI); arc(166, 165, 12, 12, PI+HALF_PI, TWO_PI+HALF_PI); //face noStroke(); fill(20); ellipse(180, 150, 5, 5); ellipse(200, 150, 5, 5); strokeWeight(2); stroke(0); line(180, 163, 182, 168); line(185, 160, 186, 170); line(190, 158, 190, 164); line(195, 162, 193, 170); line(200, 160, 198, 165); //horns(oh yes) //left horn strokeWeight(1); stroke(115, 104, 92); fill(150, 136, 121); quad(172, 145, 165, 157, 145, 150, 160, 132); quad(164, 144, 158, 155, 142, 152, 150, 137); quad(155, 145, 160, 160, 145, 165, 140, 150); quad(158, 164, 150, 175, 140, 166, 150, 154); quad(150, 166, 160, 170, 162, 183, 148, 178); quad(154, 173, 164, 175, 167, 184, 157, 186); quad(160, 180, 167, 181, 175, 185, 164, 187); //right horn, geez i am tired quad(214, 131, 230, 140, 217, 158, 205, 144); quad(231, 133, 235, 152, 217, 153, 215, 139); quad(226, 140, 239, 150, 233, 162, 218, 157); quad(230, 150, 242, 158, 232, 168, 223, 161); quad(232, 158, 239, 169, 224, 177, 226, 165); quad(233, 165, 234, 177, 225, 179, 222, 170); quad(229, 174, 226, 181, 213, 184, 221, 176); //legs noStroke(); fill(106, 20, 26); quad(180, 300, 185, 310, 184, 320, 180, 330); quad(180, 330, 175, 340, 160, 350, 160, 320); quad(180, 290, 180, 330, 150, 350, 140, 320); quad(190, 300, 200, 330, 210, 340, 220, 320); quad(210, 340, 220, 350, 240, 350, 220, 300); //juicy calves ellipse(235, 375, 50, 70); ellipse(145, 375, 50, 70); //lighter grey fill(150); quad(216, 284, 240, 300, 215, 325, 203, 304); quad(240, 300, 215, 325, 240, 350, 260, 350); quad(163, 282, 178, 304, 165, 325, 140, 300); quad(140, 300, 165, 325, 143, 347, 120, 340); //bee's knees fill(111); quad(230, 350, 250, 340, 260, 310, 275, 350); quad(230, 350, 275, 350, 260, 380, 250, 360); quad(105, 350, 120, 310, 130, 340, 150, 350); quad(105, 350, 150, 350, 130, 360, 120, 380); //left arm of the forbidden one noStroke(); fill(106, 20, 26); ellipse(130, 200, 30, 30); ellipse(130, 230, 40, 60); //hand quad(150, 290, 155, 300, 145, 310, 140, 300); quad(160, 300, 160, 295, 155, 290, 155, 294); quad(155, 290, 155, 294, 145, 294, 145, 290); triangle(155, 300, 160, 315, 150, 305); triangle(150, 305, 150, 315, 145, 310); //armband fill(150); quad(140, 260, 150, 290, 140, 300, 120, 270); triangle(140, 260, 120, 270, 125, 245); strokeWeight(2); stroke(111); line(140, 260, 125, 245); line(120, 270, 125, 245); line(145, 275, 130, 265); line(130, 285, 130, 265); line(150, 290, 140, 285); line(140, 285, 140, 300); //left wang quad(110, 130, 106, 145, 104, 160, 10, 170); quad(104, 160, 110, 180, 130, 200, 10, 170); triangle(130, 200, 110, 270, 70, 200); triangle(130, 200, 50, 250, 70, 185); //right arm (of the forbidden one?) fill(106, 20, 26); noStroke(); ellipse(250, 200, 30, 30); ellipse(250, 230, 40, 60); //hand quad(230, 290, 240, 300, 235, 310, 225, 300); quad(220, 300, 220, 295, 225, 290, 225, 294); quad(225, 290, 225, 294, 235, 294, 235, 290); triangle(225, 300, 230, 305, 220, 315); triangle(230, 305, 235, 310, 230, 315); //arm band fill(150); quad(240, 260, 255, 245, 260, 270, 230, 290); quad(240, 260, 260, 270, 240, 300, 230, 290); strokeWeight(2); stroke(111); line(240, 260, 255, 245); line(255, 245, 260, 270); line(235, 275, 250, 265); line(250, 265, 250, 285); line(230, 290, 240, 285); line(240, 285, 240, 300); //chest piece noStroke(); fill(150); triangle(153, 209, 175, 185, 190, 226); triangle(227, 209, 205, 185, 190, 226); quad(190, 226, 170, 191, 190, 197, 203, 193); quad(155, 222, 190, 240, 190, 256, 155, 240); quad(225, 222, 190, 240, 190, 256, 225, 240); quad(155, 252, 190, 270, 190, 290, 165, 273); quad(225, 252, 190, 270, 190, 290, 215, 273); fill(111); quad(150, 210, 190, 230, 190, 240, 150, 220); quad(230, 210, 190, 230, 190, 240, 230, 220); quad(160, 274, 190, 294, 190, 320, 160, 280); quad(220, 274, 190, 294, 190, 320, 220, 280); quad(150, 240, 190, 260, 190, 270, 150, 250); quad(230, 240, 190, 260, 190, 270, 230, 250); fill(149, 28, 43); quad(150, 210, 155, 207, 190, 226, 190, 230); quad(230, 210, 225, 207, 190, 226, 190, 230); quad(155, 240, 190, 256, 190, 260, 155, 244); quad(225, 240, 190, 256, 190, 260, 225, 244); quad(160, 274, 160, 270, 190, 290, 190, 294); quad(190, 294, 190, 290, 220, 270, 220, 274); stroke(150); //i'm going to have one noFill(); arc(190, 180, 33, 33, HALF_PI-THIRD_PI, THIRD_PI+HALF_PI); } //when a button is pressed, re-draws entire drawing with arms moved and wings open void keyPressed() { ellipseMode(CENTER); //makes it show for one second as opposed to the default of 1/60 of a second frameRate(1); //black screen to cover previous drawing fill(0); quad(0, 0, 400, 0, 400, 400, 0, 400); //yellow background circle noStroke(); //pls fill(255, 255, 0, 100); ellipse(190, 220, 260, 260); fill(255, 255, 0, 70); ellipse(190, 220, 300, 300); fill(255, 255, 0, 40); ellipse(190, 220, 360, 360); //wings y'all //right stroke(182, 24, 35); //strokes are bad fill(192, 55, 72); triangle(320, 70, 390, 90, 320, 120); triangle(320, 70, 390, 160, 290, 130); triangle(320, 70, 360, 220, 290, 180); quad(210, 190, 290, 130, 320, 70, 290, 250); //left triangle(70, 70, 60, 120, 10, 50); triangle(70, 70, 80, 120, 10, 130); triangle(70, 70, 90, 180, 10, 210); quad(170, 190, 90, 150, 70, 70, 60, 260); //Head of the forbidden one, i should have started this earlier // lighter red fill(106, 20, 26); noStroke(); ellipse(190, 148, 60, 35); triangle(180, 133, 190, 110, 200, 133); quad(172, 160, 190, 160, 190, 174, 172, 170); quad(208, 160, 190, 160, 190, 174, 208, 170); triangle(190, 160, 230, 200, 150, 200); ellipse(230, 205, 35, 35); ellipse(150, 205, 35, 35); strokeWeight(2); stroke(159, 38, 53); line(180, 133, 190, 110); line(190, 110, 200, 133); line(180, 142, 190, 125); line(190, 125, 200, 143); noFill(); strokeWeight(1); arc(210, 190, 40, 40, PI, PI+HALF_PI); arc(170, 190, 40, 40, PI+HALF_PI, TWO_PI); noStroke(); fill(106, 20, 26); triangle(190, 190, 180, 160, 200, 160); noFill(); stroke(149, 28, 43); arc(210, 186, 40, 33, PI, PI+HALF_PI); arc(170, 186, 40, 33, PI+HALF_PI, TWO_PI); arc(214, 165, 12, 12, HALF_PI, PI+HALF_PI); arc(166, 165, 12, 12, PI+HALF_PI, TWO_PI+HALF_PI); //face noStroke(); fill(213, 97, 20); ellipse(180, 150, 5, 5); ellipse(200, 150, 5, 5); strokeWeight(2); stroke(213, 97, 20); line(180, 163, 182, 168); line(185, 160, 186, 170); line(190, 158, 190, 164); line(195, 162, 193, 170); line(200, 160, 198, 165); //horns(oh yes) //left horn strokeWeight(1); stroke(115, 104, 92); fill(150, 136, 121); quad(172, 145, 165, 157, 145, 150, 160, 132); quad(164, 144, 158, 155, 142, 152, 150, 137); quad(155, 145, 160, 160, 145, 165, 140, 150); quad(158, 164, 150, 175, 140, 166, 150, 154); quad(150, 166, 160, 170, 162, 183, 148, 178); quad(154, 173, 164, 175, 167, 184, 157, 186); quad(160, 180, 167, 181, 175, 185, 164, 187); //right horn, geez i am tired quad(214, 131, 230, 140, 217, 158, 205, 144); quad(231, 133, 235, 152, 217, 153, 215, 139); quad(226, 140, 239, 150, 233, 162, 218, 157); quad(230, 150, 242, 158, 232, 168, 223, 161); quad(232, 158, 239, 169, 224, 177, 226, 165); quad(233, 165, 234, 177, 225, 179, 222, 170); quad(229, 174, 226, 181, 213, 184, 221, 176); //legs noStroke(); fill(106, 20, 26); quad(180, 300, 185, 310, 184, 320, 180, 330); quad(180, 330, 175, 340, 160, 350, 160, 320); quad(180, 290, 180, 330, 150, 350, 140, 320); quad(190, 300, 200, 330, 210, 340, 220, 320); quad(210, 340, 220, 350, 240, 350, 220, 300); //juicy calves ellipse(235, 375, 50, 70); ellipse(145, 375, 50, 70); //lighter grey fill(150); quad(216, 284, 240, 300, 215, 325, 203, 304); quad(240, 300, 215, 325, 240, 350, 260, 350); quad(163, 282, 178, 304, 165, 325, 140, 300); quad(140, 300, 165, 325, 143, 347, 120, 340); //bee's knees fill(111); quad(230, 350, 250, 340, 260, 310, 275, 350); quad(230, 350, 275, 350, 260, 380, 250, 360); quad(105, 350, 120, 310, 130, 340, 150, 350); quad(105, 350, 150, 350, 130, 360, 120, 380); //left wing //left armband fill(150); quad(260, 260, 270, 290, 260, 300, 240, 270); triangle(260, 260, 240, 270, 245, 245); strokeWeight(2); stroke(111); line(260, 260, 245, 245); line(240, 270, 245, 245); line(265, 275, 250, 265); line(250, 285, 250, 265); line(270, 290, 260, 285); line(260, 285, 260, 300); //right arm (of the forbidden one?) fill(106, 20, 26); noStroke(); ellipse(250, 200, 30, 30); ellipse(250, 230, 40, 60); //hand quad(110, 290, 120, 300, 115, 310, 105, 300); quad(100, 300, 100, 295, 105, 290, 105, 294); quad(105, 290, 105, 294, 115, 294, 115, 290); triangle(105, 300, 110, 305, 100, 315); triangle(110, 305, 115, 310, 110, 315); //arm band fill(150); quad(120, 260, 135, 245, 140, 270, 110, 290); quad(120, 260, 140, 270, 120, 300, 110, 290); strokeWeight(2); stroke(111); line(120, 260, 135, 245); line(135, 245, 140, 270); line(115, 275, 130, 265); line(130, 265, 130, 285); line(110, 290, 120, 285); line(120, 285, 120, 300); //left arm of the forbidden one noStroke(); fill(106, 20, 26); ellipse(130, 200, 30, 30); ellipse(130, 230, 40, 60); //hand quad(270, 290, 275, 300, 265, 310, 260, 300); quad(280, 300, 280, 295, 275, 290, 275, 294); quad(275, 290, 275, 294, 265, 294, 265, 290); triangle(275, 300, 280, 315, 270, 305); triangle(270, 305, 270, 315, 265, 310); //chest piece noStroke(); fill(150); triangle(153, 209, 175, 185, 190, 226); triangle(227, 209, 205, 185, 190, 226); quad(190, 226, 170, 191, 190, 197, 203, 193); quad(155, 222, 190, 240, 190, 256, 155, 240); quad(225, 222, 190, 240, 190, 256, 225, 240); quad(155, 252, 190, 270, 190, 290, 165, 273); quad(225, 252, 190, 270, 190, 290, 215, 273); fill(111); quad(150, 210, 190, 230, 190, 240, 150, 220); quad(230, 210, 190, 230, 190, 240, 230, 220); quad(160, 274, 190, 294, 190, 320, 160, 280); quad(220, 274, 190, 294, 190, 320, 220, 280); quad(150, 240, 190, 260, 190, 270, 150, 250); quad(230, 240, 190, 260, 190, 270, 230, 250); fill(149, 28, 43); quad(150, 210, 155, 207, 190, 226, 190, 230); quad(230, 210, 225, 207, 190, 226, 190, 230); quad(155, 240, 190, 256, 190, 260, 155, 244); quad(225, 240, 190, 256, 190, 260, 225, 244); quad(160, 274, 160, 270, 190, 290, 190, 294); quad(190, 294, 190, 290, 220, 270, 220, 274); //light up markings noStroke(); fill(213, 97, 20); quad(190, 210, 210, 200, 190, 220, 170, 200); quad(190, 245, 210, 235, 190, 252, 170, 235); quad(190, 275, 210, 265, 190, 285, 170, 265); quad(220, 290, 245, 325, 242, 328, 217, 293); quad(215, 305, 235, 330, 232, 333, 212, 308); quad(160, 290, 135, 325, 138, 328, 163, 293); quad(165, 305, 145, 330, 148, 333, 168, 308); stroke(150); //i'm going to have one noFill(); arc(190, 180, 33, 33, HALF_PI-THIRD_PI, THIRD_PI+HALF_PI); } void mousePressed() { //visual is active for .33 seconds frameRate(3); //face noStroke(); fill(207, 34, 128); ellipse(180, 150, 5, 5); ellipse(200, 150, 5, 5); strokeWeight(2); stroke(207, 34, 128); line(180, 163, 182, 168); line(185, 160, 186, 170); line(190, 158, 190, 164); line(195, 162, 193, 170); line(200, 160, 198, 165); //light up markings noStroke(); fill(207, 34, 128); quad(190, 210, 210, 200, 190, 220, 170, 200); quad(190, 245, 210, 235, 190, 252, 170, 235); quad(190, 275, 210, 265, 190, 285, 170, 265); quad(220, 290, 245, 325, 242, 328, 217, 293); quad(215, 305, 235, 330, 232, 333, 212, 308); quad(160, 290, 135, 325, 138, 328, 163, 293); quad(165, 305, 145, 330, 148, 333, 168, 308); //hands and armbands so that markings are not over the hands noStroke(); fill(106, 20, 26); quad(150, 290, 155, 300, 145, 310, 140, 300); quad(160, 300, 160, 295, 155, 290, 155, 294); quad(155, 290, 155, 294, 145, 294, 145, 290); triangle(155, 300, 160, 315, 150, 305); triangle(150, 305, 150, 315, 145, 310); quad(230, 290, 240, 300, 235, 310, 225, 300); quad(220, 300, 220, 295, 225, 290, 225, 294); quad(225, 290, 225, 294, 235, 294, 235, 290); triangle(225, 300, 230, 305, 220, 315); triangle(230, 305, 235, 310, 230, 315); fill(150); quad(140, 260, 150, 290, 140, 300, 120, 270); triangle(140, 260, 120, 270, 125, 245); strokeWeight(2); stroke(111); line(140, 260, 125, 245); line(120, 270, 125, 245); line(145, 275, 130, 265); line(130, 285, 130, 265); line(150, 290, 140, 285); line(140, 285, 140, 300); strokeWeight(7); stroke(242, 14, 138); line(190, 165, mouseX+5, mouseY); stroke(242, 14, 138); line(190, 165, mouseX, mouseY+10); stroke(242, 14, 138); line(190, 165, mouseX-3, mouseY-3); noStroke(); fill(242, 14, 138, 100); ellipse(mouseX, mouseY, 50, 50); fill(242, 14, 138, 70); ellipse(mouseX, mouseY, 70, 70); fill(242, 14, 138, 40); ellipse(mouseX, mouseY, 120, 120); }