วันอาทิตย์ที่ 30 สิงหาคม พ.ศ. 2558

Lab2-BATTERY

int volumeposX = 110 ,volumeposY = 110;
int volumeWidth = 180 ,volumeHeight = 380;
int batteryposX = 100 ,batteryposY = 100;
int batt_usage;
int batt_charge;
int posY_change;
int volumeColor = #008B00;
int update = 0;

void setup(){
  size(400,600);
}

void draw(){
  frameRate(50); 
  background(0);
 
  battery(batteryposX,batteryposY,200,400,60,20);
  positive(batteryposX/2,batteryposY-20);
  negative(batteryposX/2,batteryposY+420);
 
  volumeHeight = volumeHeight - batt_usage + batt_charge;
  volumeposY = volumeposY + posY_change;
 
  if((volumeHeight == 0 && volumeposY == 490) || (volumeHeight == 380 && volumeposY == 110)){
    batt_usage = 0;
    batt_charge = 0;
    posY_change = 0;
  }
 
  int percentage = battPercent(volumeHeight);
  if(percentage <= 40){
    volumeColor = #FFCC00;
  }
  if(percentage <= 20){
    volumeColor = #FF0000;
  }
  if(percentage >= 40){
    volumeColor = #008B00;
  }
}

void mouseClicked() {
  if(volumeHeight <= 380 && volumeposY >= 110 && update == 0) {
    batt_usage = 2;
    batt_charge = 0;
    posY_change = 2;
    update = 1;
  }
  else if(volumeHeight >= 0 && volumeposY <= 490 && update == 1) {
    batt_usage = 0;
    batt_charge = 2;
    posY_change = -2;
    update = 0;
  }
}

void battery(int batteryposX,int batteryposY,int batteryWidth,int batteryHeight,int poleWidth,int poleHeight){
  /////BATTERY BODY/////
  noFill();
  stroke(#FFFFFF);
  strokeWeight(5);
  rect(batteryposX,batteryposY,batteryWidth,batteryHeight);
  fill(255);
  rect((batteryposX+(batteryWidth/2))-(poleWidth/2),batteryposY-poleHeight,poleWidth,poleHeight);
  /////VOLUME/////
  strokeWeight(2);
  fill(volumeColor);
  rect(volumeposX,volumeposY,volumeWidth,volumeHeight);
}

void positive(int positiveposX,int positiveposY){
 fill(#FF0000);
 textAlign(CENTER);
 text("+",positiveposX,positiveposY);
}

void negative(int negativeposX,int negativeposY){
 fill(#FF0000);
 textAlign(CENTER);
 text("-",negativeposX,negativeposY);
}

int battPercent(int volumeHeight){
  int batt_percent = 100;
  batt_percent = (volumeHeight*100)/380;
  textAlign(CENTER);
  textSize(40);
  fill(#FFFFFF);
  text((int)(batt_percent)+"%",batteryposX+100,batteryposY+200);
  return batt_percent;
}





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

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