Your browser does not support the canvas tag.

previous        Show / Hide Source        Download        next
// PShape shroom, shroom1, shroom2, shroom3, shroom4, shroom5, shroom6, shroom7, shroom8;
int speed = 1;
int snailX=0;
int snailY=0;
boolean inside = false;
boolean locked = false;


void setup() {
  size (500, 500);

  //Background


  //Fungi using Grouping failed because I have no idea how this works... :(
  

  // shroom = createShape(GROUP);


  //fill(#663300);
  //shroom1 = createShape(ELLIPSE, 300, 400, 20, 60);
  //shroom1.setFill(color(#663300)); //Just figured out i could use hex codes!!!!
  //shroom2 = createShape(ELLIPSE, 300, 380, 50, 20);
  //shroom3 = createShape(ELLIPSE, 309, 378, 5, 5);
  // shroom3.setFill(color(#FFFFFF));
  // fill(#FFFFFF);
  //shroom4 = createShape(ELLIPSE, 296, 384, 5, 5);
  //shroom5 = createShape(ELLIPSE, 298, 411, 5, 5);
  // shroom6 = createShape(ELLIPSE, 288, 375, 4, 4);
  //shroom7 = createShape(ELLIPSE, 317, 382, 4, 4);
  //shroom8 = createShape(ELLIPSE, 304, 400, 4, 4);

  //shroom.addChild(shroom1);
  // shroom.addChild(shroom2);
  //shroom.addChild(shroom3);
  //shroom.addChild(shroom4);
  //shroom.addChild(shroom5);
  //shroom.addChild(shroom6);
  // shroom.addChild(shroom7);
  // shroom.addChild(shroom8);
}

void draw() { 
  frameRate(10);
  smooth();
  noStroke();
  fill(76, 153, 0);
  rect(0, 318, 500, 318);
  fill(0, 255, 255);
  rect(0, 0, 500, 318);
  // noCursor();
  stroke(0);
  // println("Position: ", snailX);

  //Helps me to draw
  //println(mouseX, mouseY);
  if (mouseX <= snailX) {
    
/*




   _     _      _     _      _     _      _     _      _     _      _     _      _     _        _     _      _     _      _     _      _     _      _     _   
  (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)      (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)    (c).-.(c)  
   / ._. \      / ._. \      / ._. \      / ._. \      / ._. \      / ._. \      / ._. \        / ._. \      / ._. \      / ._. \      / ._. \      / ._. \   
 __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__    __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__  __\( Y )/__ 
(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)  (_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)
   || D ||      || A ||      || N ||      || C ||      || I ||      || N ||      || G ||        || S ||      || N ||      || A ||      || I ||      || L ||   
 _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._    _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._  _.' `-' '._ 
(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)  (.-./`-`\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)
 `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'    `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-'  `-'     `-' 
  */  
  
  
    //Head
    fill(246, 255, 0);
    ellipse(6+snailX--, 346+snailY, 55, 55); 

    //Eyes
    ellipse(2+snailX--, 346+snailY, 12, 12);
    fill(0);
    ellipse(1+snailX--, 343+snailY, 6, 6);

    //Ears
    fill(0, 0, 0);
    line(-16.5+snailX--, 332+snailY, -40+snailX--, 350+snailY);
    line(-16.5+snailX--, 328+snailY, -40+snailX--, 330+snailY);

    //Ear tips
    fill(255, 204, 0);
    ellipse(-40+snailX--, 350+snailY, 5, 5);
    ellipse(-40+snailX--, 330+snailY, 5, 5);

    //Neck
    fill(246, 255, 0);
    ellipse(20+snailX--, 370+snailY, 35, 35);
    ellipse(30+snailX--, 385+snailY, 35, 35);
    ellipse(45+snailX--, 400+snailY, 35, 35);

    //Neck Squares to cover outline
    noStroke();
    rect(20+snailX--, 370+snailY, 20, 30);
    rect(30+snailX--, 370+snailY, 10, 15);
    // rect(53, 52, 30, 30);
    ellipse(36+snailX--, 388+snailY, 22, 22); 
    ellipse(20+snailX--, 368+snailY, 34, 34);
    ellipse(14+snailX--, 366+snailY, 30, 30);

    //Body
    stroke(0);
    fill(246, 255, 0);
    ellipse(105+snailX--, 410+snailY, 150, 35);
    noStroke();
    ellipse(45+snailX--, 399+snailY, 33, 33);
    stroke(0);

    //Shell
    fill(32, 184, 164);
    ellipse(120+snailX--, 368+snailY, 110, 110);
    noStroke();
    fill(255);
    ellipse(120+snailX--, 368+snailY, 90, 90);
    ellipse(120+snailX--, 368+snailY, 90, 90);
    fill(18, 184, 164);
    ellipse(120+snailX--, 368+snailY, 60, 60);
    ellipse(120+snailX--, 368+snailY, 30, 30);
    stroke(0);
    fill(255);
    ellipse(120+snailX--, 368+snailY, 10, 10);
  } else if (mouseX >= snailX) {
    //Head
    fill(246, 255, 0);
    ellipse(6+snailX++, 346+snailY, 55, 55); 

    //Eyes
    ellipse(2+snailX++, 346+snailY, 12, 12);
    fill(0);
    ellipse(1+snailX++, 343+snailY, 6, 6);

    //Ears
    fill(0, 0, 0);
    line(-16.5+snailX++, 332+snailY, -40+snailX++, 350+snailY);
    line(-16.5+snailX++, 328+snailY, -40+snailX++, 330+snailY);

    //Ear tips
    fill(255, 204, 0);
    ellipse(-40+snailX++, 350+snailY, 5, 5);
    ellipse(-40+snailX++, 330+snailY, 5, 5);

    //Neck
    fill(246, 255, 0);
    ellipse(20+snailX++, 370+snailY, 35, 35);
    ellipse(30+snailX++, 385+snailY, 35, 35);
    ellipse(45+snailX++, 400+snailY, 35, 35);

    //Neck Squares to cover outline
    noStroke();
    rect(20+snailX++, 370+snailY, 20, 30);
    rect(30+snailX++, 370+snailY, 10, 15);
    // rect(53, 52, 30, 30);
    ellipse(36+snailX++, 388+snailY, 22, 22); 
    ellipse(20+snailX++, 368+snailY, 34, 34);
    ellipse(14+snailX++, 366+snailY, 30, 30);

    //Body
    stroke(0);
    fill(246, 255, 0);
    ellipse(105+snailX++, 410+snailY, 150, 35);
    noStroke();
    ellipse(45+snailX++, 399+snailY, 33, 33);
    stroke(0);

    //Shell
    fill(32, 184, 164);
    ellipse(120+snailX++, 368+snailY, 110, 110);
    noStroke();
    fill(255);
    ellipse(120+snailX++, 368+snailY, 90, 90);
    ellipse(120+snailX++, 368+snailY, 90, 90);
    fill(18, 184, 164);
    ellipse(120+snailX++, 368+snailY, 60, 60);
    ellipse(120+snailX++, 368+snailY, 30, 30);
    stroke(0);
    fill(255);
    ellipse(120+snailX++, 368+snailY, 10, 10);
  }


  //cloud v2
  stroke(0);
  ellipse(-17+mouseX/2, 132, 180, 30);
  noStroke();
  ellipse(-82+mouseX/2, 120, 30, 30);
  ellipse(-60+mouseX/2, 109, 30, 30);
  ellipse(-40+mouseX/2, 102, 30, 30);
  ellipse(-20+mouseX/2, 95, 30, 30);
  ellipse(-5+mouseX/2, 104, 29, 29);
  ellipse(+10+mouseX/2, 110, 30, 30);
  ellipse(+30+mouseX/2, 115, 25, 25);
  ellipse(+51+mouseX/2, 125, 30, 30);
  ellipse(+46+mouseX/2, 136, 25, 25);
  ellipse(+26+mouseX/2, 141, 25, 25);
  ellipse(+7+mouseX/2, 144, 25, 25);
  ellipse(-10+mouseX/2, 145, 25, 25);
  ellipse(-26+mouseX/2, 146, 25, 25);
  ellipse(-49+mouseX/2, 145, 25, 25);
  ellipse(-67+mouseX/2, 144, 25, 25);
  ellipse(-81+mouseX/2, 139, 25, 25);
  ellipse(+62+mouseX/2, 135, 25, 25);
  ellipse(-97+mouseX/2, 129, 25, 25);
  ellipse(-22+mouseX/2, 114, 40, 40);
  ellipse(-46+mouseX/2, 114, 30, 30);
  stroke(0);

  //shape(shroom, mouseX, mouseY); //Draws my shroom
  // Shroom
  fill(#663300);
  ellipse(mouseX+0, mouseY+0, 20, 60);
  ellipse(mouseX+ 0, mouseY-20, 90, 20);
  fill(#FFFFFF);
  ellipse(mouseX+ 9, mouseY-22, 5, 5);
  ellipse( mouseX-4, mouseY-16, 5, 5);
  ellipse(mouseX-2, mouseY+11, 5, 5);
  ellipse(mouseX-12, mouseY-25, 4, 4);
  ellipse(mouseX+17, mouseY-18, 4, 4);
  ellipse(mouseX+4, mouseY, 4, 4);
}

//if(mouseX>0)

void mousePressed() { //Tried to make it night time when clicked.
  if (inside) {
    locked = true;
    noStroke();
    fill(#116918);
    rect(0, 318, 500, 318);
    fill(#115369);
    rect(0, 0, 500, 318);
    stroke(0);
  } else {
    locked = false;
  }
}