/////////////////THE PRINCESS AND THE GENERAL////////////////////////////// ///////////////////////BY DEXTER TRUONG//////////////////////////////////// //START OF PROGRAM void setup() { //Setup size of window size(400, 400); } void draw() { frameRate(60); //Mode of shapes noStroke(); ellipseMode(CORNERS); rectMode(CORNERS); //Background colour background(94, 164, 224); //Draw the ground fill(67, 151, 60); rect(0, 280, 400, 400); /////////////////////LEFT TREE/////////////////////// //Draw left tree trunk and branches fill(127, 123, 92); triangle(40, 300, 80, 300, 60, 100); triangle(30, 300, 40, 300, 50, 260); triangle(90, 300, 50, 300, 60, 180); triangle(60, 160, 60, 145, 125, 120); //Draw leaves of left tree, background fill(190, 139, 189); ellipse(20, 30, 60, 70); ellipse(0, 80, 60, 140); //Draw leaves of the left tree, middleground fill(233, 172, 232); ellipse(20, 40, 100, 130); ellipse(110, 100, 150, 140 ); //Draw leaves of the left tree, foreground fill(234, 186, 233); ellipse(70, 30, 110, 70); /////////////////////LEFT TREE/////////////////////// /////////////////////RIGHT TREE/////////////////////// //Draw right tree trunk and branches fill(127, 123, 92); triangle(360, 300, 320, 300, 340, 80); triangle(380, 300, 355, 300, 355, 240); triangle(310, 300, 330, 300, 330, 200); triangle(350, 160, 330, 200, 380, 130); //Draw leaves of right tree, background fill(190, 139, 189); ellipse(280, 20, 340, 80); ellipse(360, 80, 380, 100); //Draw leaves of right tree, middleground fill(233, 172, 232); ellipse(300, 20, 380, 100 ); ellipse(370, 120, 390, 140 ); //Draw leaves of right tree, foreground fill(234, 186, 233); ellipse(300, 80, 320, 100); ellipse(340, 20, 380, 60 ); ellipse(380, 130, 400, 150); /////////////////////RIGHT TREE/////////////////////// /////////////////////THE PRINCESS/////////////////////// //Prinecess's hair: back fill(75, 58, 75); rect(52, 160, 130, 300); //Princess's hair: back bang fill(88, 64, 88); rect(147, 227, 120, 180); //Princess's head, neck, and shoulders fill(255, 229, 200); ellipse(80, 160, 140, 220); triangle(123, 225, 95, 216, 134, 208); rect(100, 215, 112, 250); quad(90, 240, 122, 240, 127, 250, 82, 250); //Princess's arms triangle(162, 267, 175, 290, 142, 280); triangle(50, 267, 30, 290, 60, 283); //Priness's legs triangle(80, 340, 100, 340, 80, 380); triangle(110, 340, 130, 340, 110, 380); //Priness's Hair: bangs fill(75, 58, 75); ellipse( 52, 140, 150, 180); rect(150, 180, 52, 160); //Princess's hair: front bang fill(88, 64, 88); quad(77, 160, 90, 160, 77, 230, 60, 220 ); //Princess's eyes fill(0, 0, 0); ellipse(102, 183, 112, 197); ellipse(130, 182, 137, 197); //Princess's blush fill(227, 150, 188); ellipse(90, 197, 103, 202 ); ellipse(132, 197, 145, 202); //Princess's dress: base fill(230, 227, 229); quad(82, 250, 127, 250, 150, 340, 60, 340); //Princess's dress: sleeves triangle(90, 240, 60, 290, 40, 270); triangle(122, 240, 170, 270, 142, 290); //Princess's dress: highlight fill(198, 72, 72); ellipse(75, 250, 115, 290); ellipse(95, 250, 135, 290 ); triangle(105, 350, 75, 275, 135, 275); triangle(60, 340, 60, 350, 50, 350); triangle(150, 340, 150, 350, 160, 350); //Priness's dress: front ornament fill(245, 241, 139); quad(100, 260, 110, 260, 115, 280, 95, 280); quad(90, 260, 100, 260, 100, 265, 90, 270); quad(110, 260, 120, 260, 120, 270, 110, 265); triangle(95, 280, 100, 280, 95, 290); triangle(100, 280, 110, 280, 105, 300); triangle(115, 280, 110, 280, 115, 290); //Princess's thigh highs fill(113, 113, 113); triangle(80, 350, 95, 350, 80, 380); triangle(110, 350, 125, 350, 110, 380); /////////////////////THE PRINCESS/////////////////////// /////////////////////THE GENERAL/////////////////////// //General's back hair fill(81, 83, 78); triangle(275, 220, 282, 175, 297, 175); //General's head and neck fill(255, 229, 200); ellipse(280, 160, 340, 220); triangle(295, 225, 320, 219, 281, 200); rect(310, 215, 320, 250); //General's arms fill(255, 229, 200); triangle(265, 285, 275, 297, 245, 315); triangle(370, 285, 360, 297, 390, 315); //General's eyes fill(0, 0, 0); ellipse(310, 183, 320, 197); ellipse(285, 182, 293, 197 ); //General's blush fill(227, 150, 188); ellipse(275, 197, 288, 202); ellipse(317, 197, 330, 202); //General's hat: visor fill(109, 109, 109); quad(290, 160, 355, 160, 340, 170, 275, 170); triangle(340, 170, 370, 150, 330, 160); //General's hat: mid piece fill(188, 157, 109); rect(290, 160, 335, 150); triangle(335, 150, 335, 160, 370, 150); //General's hat: top piece fill(80, 107, 49); quad(280, 130, 340, 130, 340, 150, 290, 150); triangle(340, 130, 340, 150, 370, 150); triangle(280, 130, 340, 130, 320, 120); //General's hair: bangs fill(81, 83, 78); triangle(270, 190, 280, 170, 310, 170); triangle(310, 170, 325, 170, 300, 200); triangle(325, 170, 340, 170, 325, 190); //General's hair: side fill(81, 83, 78); quad(335, 170, 360, 157, 370, 190, 340, 200); triangle(340, 199, 330, 230, 355, 190); triangle(345, 190, 350, 220, 360, 190); triangle(355, 190, 360, 215, 370, 190); //General's uniform: sleeves fill(83, 110, 51); quad(260, 290, 293, 240, 293, 280, 265, 310); quad(340, 280, 340, 240, 375, 290, 370, 310); //General's uniform: jacket front fill(80, 107, 49); quad(293, 240, 340, 240, 350, 320, 280, 320); //General's uniform: undershirt fill(186, 175, 139); triangle(307, 245, 322, 245, 315, 290); //General's uniform: detail fill(101, 135, 63); triangle(293, 240, 310, 255, 310, 245); triangle(340, 240, 320, 255, 320, 245); triangle(310, 255, 295, 255, 315, 290); triangle(320, 255, 335, 255, 315, 290); //General's uniform: belt fill(0, 0, 0); quad(285, 293, 347, 293, 347, 298, 285, 298); //General's uniform: belt buckle fill(150, 150, 150); rect(307, 290, 323, 300); //General's uniform: pants fill(66, 88, 40); triangle(280, 320, 310, 320, 310, 380); triangle(320, 320, 350, 320, 350, 380); //General's uniform: Boots fill(0, 0, 0); rect(290, 340, 310, 380); rect(330, 340, 350, 380); rect(310, 380, 280, 370); rect(350, 380, 320, 370); /////////////////////THE GENERAL/////////////////////// /////////////////////CHERRY BLOSSOMS/////////////////// //Cherry blossom petals, center the ellipses' for cherry blossom mouse movement ellipseMode(CENTER); fill(255, 118, 253, 95); ellipse(-mouseX/60+300, -mouseY/60+300, 15, 5); ellipse(-mouseX/60+90, -mouseY/60+90, 15, 5); ellipse(-mouseX/60+60, -mouseY/60+150, 15, 5); ellipse(-mouseX/60+80, -mouseY/10+220, 15, 5); ellipse(-mouseX/60+97, -mouseY/60+150, 15, 5); ellipse(-mouseX/60+44, -mouseY/260+355, 15, 5); ellipse(-mouseX/20+321, -mouseY/60+200, 15, 5); ellipse(-mouseX/30+360, -mouseY/60+50, 15, 5); ellipse(-mouseX/60+115, -mouseY/10+110, 15, 5); ellipse(-mouseX/60+72, -mouseY/60+150, 15, 5); ellipse(-mouseX/80+48, -mouseY/10+197, 15, 5); ellipse(-mouseX/60+270, -mouseY/60+150, 15, 5); ellipse(-mouseX/60+300, -mouseY/55+150, 15, 5); ellipse(-mouseX/40+377, -mouseY/40+350, 15, 5); ellipse(-mouseX/60+275, -mouseY/60+380, 15, 5); ellipse(-mouseX/60+360, -mouseY/50+350, 15, 5); ellipse(-mouseX/20+296, -mouseY/10+175, 15, 5); ellipse(-mouseX/50+342, -mouseY/60+315, 15, 5); ellipse(-mouseX/60+255, -mouseY/30+255, 15, 5); ellipse(-mouseX/100+281, -mouseY/60+157, 15, 5); ellipse(-mouseX/60+122, -mouseY/60+350, 15, 5); ellipse(-mouseX/60+160, -mouseY/22+347, 15, 5); ellipse(-mouseX/20+150, -mouseY/60+150, 15, 5); ellipse(-mouseX/30+177, -mouseY/60+350, 15, 5); ellipse(-mouseX/15+60, -mouseY/90+250, 15, 5); ellipse(-mouseX/44+247, -mouseY/20+222, 15, 5); ellipse(-mouseX/40+160, -mouseY/30+280, 15, 5); ellipse(-mouseX/10+60, -mouseY/10+30, 15, 5); ellipse(-mouseX/40+150, -mouseY/30+320, 15, 5); ellipse(-mouseX/60+166, -mouseY/20+212, 15, 5); ellipse(-mouseX/30+162, -mouseY/10+275, 15, 5); ellipse(-mouseX/60+190, -mouseY/10+244, 15, 5); ellipse(-mouseX/10+160, -mouseY/30+15, 15, 5); ellipse(-mouseX/20+160, -mouseY/60+30, 15, 5); ellipse(-mouseX/30+260, -mouseY/30+55, 15, 5); ellipse(-mouseX/10+275, -mouseY/15+44, 15, 5); ellipse(-mouseX/30+250, -mouseY/30+750, 15, 5); ellipse(-mouseX/20+160, -mouseY/40+67, 15, 5); ellipse(-mouseX/25+152, -mouseY/80+137, 15, 5); ellipse(-mouseX/12+147, -mouseY/60+150, 15, 5); ellipse(-mouseX/20+153, -mouseY/40+170, 15, 5); ellipse(-mouseX/70+166, -mouseY/66+66, 15, 5); ellipse(-mouseX/13+185, -mouseY/10+85, 15, 5); ellipse(-mouseX/20+199, -mouseY/10+205, 15, 5); ellipse(-mouseX/20+310, -mouseY/10+300, 15, 5); ellipse(-mouseX/10+320, -mouseY/60+320, 15, 5); ellipse(-mouseX/40+230, -mouseY/20+375, 15, 5); ellipse(-mouseX/10+225, -mouseY/50+277, 15, 5); ellipse(-mouseX/20+234, -mouseY/20+310, 15, 5); ellipse(-mouseX/30+121, -mouseY/20+320, 15, 5); ellipse(-mouseX/10+199, -mouseY/30+315, 15, 5); ellipse(-mouseX/13+60, -mouseY/10+2700, 15, 5); ellipse(-mouseX/20+337, -mouseY/12+247, 15, 5); ellipse(-mouseX/20+200, -mouseY/10+200, 15, 5); ellipse(-mouseX/10+260, -mouseY/60+250, 15, 5); ellipse(-mouseX/30+215, -mouseY/30+230, 15, 5); ellipse(-mouseX/10+210, -mouseY/20+10, 15, 5); ellipse(-mouseX/30+200, -mouseY/30+150, 15, 5); ellipse(-mouseX/25+215, -mouseY/10+75, 15, 5); ellipse(-mouseX/33+222, -mouseY/20+157, 15, 5); ellipse(-mouseX/17+205, -mouseY/20+77, 15, 5); ellipse(-mouseX/44+212, -mouseY/30+140, 15, 5); ellipse(-mouseX/15+230, -mouseY/20+140, 15, 5); ellipse(-mouseX/10+220, -mouseY/30+130, 15, 5); ellipse(-mouseX/20+225, -mouseY/40+125, 15, 5); /////////////////////CHERRY BLOSSOMS/////////////////// } /////////////////////THE HEART///////////////////////// void mousePressed() { frameRate(3); //Reset ellipse mode back to corners ellipseMode(CORNERS); fill(255, 74, 163); ellipse(175, 120, 215, 160); ellipse(210, 160, 250, 120); triangle(178, 150, 247, 150, 215, 200); } /////////////////////THE HEART///////////////////////// //END OF PROGRAM