วันอาทิตย์ที่ 6 กันยายน พ.ศ. 2558

Lab 3 : Battery

 
int value;
int energy = 1;
int per;
void setup(){
  size(600,500);
}

void draw(){
  background(0);
int posX=100;
int posY=100;
 
  draw_positive(posX+450,posY);
  draw_nagative(posX-70,posY);
  draw_battary(posX,posY);

 
  value = value+energy;   
  if(value==380){             //discharge
    energy = 0;
    energy = energy-1;
  }if(value == 0 ){           //charge
   energy = 0;
   energy = energy+1;
  }
 
  int per = (value*100)/380;
  textAlign(CENTER);                  //text
  textSize(40);
  fill(#ffffff);
  text(per+" %", 200+posX,270+posY);
}

void myColor(){
  if(value>80*3.8){
    fill(#50C110);
  }else if(value<=80*3.8 && value>60*3.8){
    fill(#ACDB23);
  }else if(value<=60*3.8 && value>40*3.8){
    fill(#ECF750);
  }else if(value<=40*3.8 && value>20*3.8){
    fill(#FA7C28);
  }else if(value<=20*3.8 && value>0){
    fill(#FA3D28);
  }
}


void draw_battary(int posX,int posY) {

  strokeWeight(10);                      //outside battary
  stroke(#ffffff);
  noFill();
  rect(posX,posY,400,200);

  rect(400+posX,45+posY,50,100);               //battery terminal

  noStroke();   //energy of battary
  myColor();
  //fill(#ffffff);
  rect(10+posX,10+posY,value,180);
}

void draw_positive(int posX,int posY){
  rect(posX+10,posY, 10 ,30);
  rect(posX,posY+10, 30,10);
}

void draw_nagative(int posX,int posY){
  rect(posX,posY+10, 30,10);
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น