int posX=35, posY=30;
float resize=150; //changeable
float charge=100;
boolean charging=false;
void draw() {
size(350,250);
background(130,120,240); //light_blue
batteryTank();
positive();
negative();
if(charging){
charge++;
draw_lightning();
}
else if(charge<=20) draw_exclamation();
if(charge>=100){
charge=100;
charging=false;
}
}
void batteryTank(){
float chargeW;
fill(255);
textSize(resize/10);
text("Battery: "+charge+"%",posX+resize/100*25*2.25,posY+resize/100*125);
//tank
strokeWeight(3);
fill(130); //gray
rect(posX,posY,resize/100*80*2.25,resize/100*100,resize/100*5*2.25);
rect(posX+resize/100*80*2.25,posY+resize/100*30,resize/100*3*2.25,resize/100*40);
fill(150);
rect(posX+resize/100*2.5*2.25,posY,resize/100*75*2.25,resize,resize/100*2*2.25);
//power
chargeW=charge/100*resize/100*75*2.25;
fill(#38E82C); //green
rect(posX+resize/100*2.5*2.25,posY,chargeW,resize,resize/100*2*2.25);
}
void positive(){
noStroke();
fill(#DE1F1F); //red
rect(posX+1.75*resize,posY+resize,resize/10,resize*0.4);
rect(posX-75*resize/500+1.75*resize,posY+75*resize/500+resize,resize*0.4,resize/10);
stroke(0);
}
void negative(){
noStroke();
fill(#1752CE); //blue
rect(posX-75*resize/500+0.1*resize,posY+75*resize/500+resize,resize*0.4,resize/10);
stroke(0);
}
void draw_lightning(){
noStroke();
fill(#FFE000);
beginShape();
vertex(posX+resize*0.9,posY+resize/2-resize*0.35); //posX+resize*0.9 = 105 ,,, posY+resize/2
vertex(posX+resize*0.9,posY+resize/2-resize*0.07);
vertex(posX+resize*0.9+resize/10,posY+resize/2-resize*0.07);
vertex(posX+resize*0.9,posY+resize/2+resize*0.35);
vertex(posX+resize*0.9,posY+resize/2+resize*0.07);
vertex(posX+resize*0.9-resize/10,posY+resize/2+resize*0.07);
endShape();
stroke(0);
}
void draw_exclamation(){
noStroke();
fill(#FF0000);
if(frameCount%40>20){
quad(posX+resize-resize/6,posY+resize/2-resize/5,posX+resize-resize/30,posY+resize/2-resize/5,
posX+resize-resize/15,posY+resize/2+resize/15,posX+resize-resize/7.5,posY+resize/2+resize/15);
rect(posX+resize-resize/7.5,posY+resize/2+resize/7.5,resize/15,resize/15);
}
stroke(0);
}
void mouseMoved(){
if(!charging){
charge-=0.5;
if(charge<=0) charge=0;
}
}
void mouseClicked(){
charging=true;
}
ไม่มีความคิดเห็น:
แสดงความคิดเห็น