//jump float jumperX, jumperY, jumperXv, jumperYv, jumperB = 3, jumperEyes, grav = 1, airF = 1.04, groundF = 2.3; float jumperW = 40, jumperH = 40, fatness = 40; boolean atRest, coil, jump; int pieX,pieY,coilCount,munchCount,bites = 2; BImage pie, piealpha; void setup(){ jumperX = 50; jumperY = 200; jumperXv = 10; jumperYv = 1; size(400, 400); ellipseMode(CENTER_DIAMETER); pie = loadImage("pie.gif"); piealpha = loadImage("piealpha1.gif"); pie.alpha(piealpha.pixels); } void loop(){ background(80); pieX = mouseX; pieY = mouseY; if (bites <= 9){ image(pie,pieX-45,pieY-45); } if(atRest){ //if(pieY if (int(random(30)) == 11){ coil = true; atRest = false; } } if(coil){ jumperH -= .5; jumperY += .25; coilCount ++; if(coilCount > 15){ jump = true; coil = false; coilCount = 0; } } if(jump){ jumperH = fatness; jumperXv = (pieX-jumperX)/20; if(pieY > 100+((fatness-40)*10)){ jumperYv = (-((height-pieY)/11)-abs(jumperXv/1.5)-11); //println("goin for it!"); }else{ jumperYv = random(-5)-10; } jump = false; } jumperYv = jumperYv / airF; jumperXv = jumperXv / airF; if(jumperYv != 0){ jumperYv += grav; } //if(jumper if (jumperY + jumperYv + (jumperH/2) > height || jumperY + jumperYv - (jumperH/2) < 0 ){ jumperYv = -jumperYv / jumperB; jumperXv = jumperXv / groundF; if (abs(jumperYv) < .5){ jumperYv = 0; atRest = true; } } if (jumperX + jumperXv + (jumperW/2)> width || jumperX + jumperXv - (jumperW/2) < 0){ jumperXv = -jumperXv / jumperB; } jumperX += jumperXv; jumperY += jumperYv; fill(#F1F0E8); stroke(0); ellipse(jumperX,jumperY,fatness,jumperH); fill(0); if (int(random(200)) == 11){ //println("blink/="); ellipse(jumperX + ((pieX-jumperX)/20) - 5, jumperY + ((pieY-jumperY)/20), 7, 2); ellipse(jumperX + ((pieX-jumperX)/20) + 5, jumperY + ((pieY-jumperY)/20), 7, 2); }else{ ellipse(jumperX + ((pieX-jumperX)/20) - 5, jumperY + ((pieY-jumperY)/20), 7, 7); ellipse(jumperX + ((pieX-jumperX)/20) + 5, jumperY + ((pieY-jumperY)/20), 7, 7); } //if (!atRest){ //rect(jumperX + ((pieX-jumperX)/16) - 7.5, jumperY + ((pieY-jumperY)/20) + 10, 15, 15); float xdif = jumperX - pieX; float ydif = jumperY - pieY; float distance = abs(sqrt((xdif*xdif)+(ydif*ydif))); //distance = (jumperX if (distance > 50){ triangle(jumperX - 10 + ((pieX-jumperX)/20), jumperY + ((pieY-jumperY)/20) + 10, jumperX + ((pieX-jumperX)/20), jumperY + ((pieY-jumperY)/20) + 10, jumperX + 10 + ((pieX-jumperX)/20), jumperY + ((pieY-jumperY)/20) + 10); }else{ triangle(jumperX - 10 + ((pieX-jumperX)/20), jumperY + ((pieY-jumperY)/20) + 10, jumperX + ((pieX-jumperX)/20), jumperY + (distance/10) + ((pieY-jumperY)/20) + 10, jumperX + 10 + ((pieX-jumperX)/20), jumperY + ((pieY-jumperY)/20) + 10); } //} if (munchCount > 50){ if (abs(jumperX - pieX) < 20 && abs(jumperY - pieY) < 20){ if (bites < 9){ String load = "piealpha"+bites+".gif"; piealpha = loadImage(load); pie.alpha(piealpha.pixels); fatness += 2; println(load); } munchCount = 0; bites++; } } munchCount++; }