14 กันยายน 2558

Lab4 Capt

float move = 0;
float pos_x_shield = 370;
float speed = 2;
int max_shield = 4;
boolean start_fw = true;
boolean start_bw;

void setup() {
  size(600, 600);
  background(#0D0D0D);
}

void draw() {
  background(#0D0D0D);
  int Y = 0;
  int X = 0;
  int pre_shield =1;
  textSize(550);
  text("A", 100, 500);// A font
 
  while (pre_shield<=max_shield) {
    draw_capt(move, Y, X);
    X+=250;
    if (pre_shield%2==0) {
      Y=-200;
      X=0;
    }
    if (pre_shield%4==0) {
      Y=200;
      X=0;
    }
    pre_shield++;
  }
 
  if (start_fw == true) {
    move +=speed;
    pos_x_shield +=speed;
    if (pos_x_shield >= 485) {
      start_fw = false;
      start_bw = true;
    }
  }

  if (start_bw == true) {
    move -=speed;
    pos_x_shield -=speed;
    if (pos_x_shield <= -140) {
      start_fw = true;
      start_bw = false;
    }
  }
 
  fill(255);
  textSize(15);
  text("speed "+speed, 20, 20);

  //----- title -----//
  textSize(30);
  text("CAPTAIN AMERICA", 162, 570);
}

void draw_capt(float pos_x, float pos_y, float x) {
  noStroke();
  fill(255);

  //----- Shield -----//
  fill(#EE0000);
  ellipse(pos_x_shield+x, pos_y+300, 250, 250);
  fill(255);
  ellipse(pos_x+370+x, pos_y+300, 210, 210);
  fill(#EE0000);
  ellipse(pos_x+370+x, pos_y+300, 170, 170);
  fill(#000080);
  ellipse(pos_x+370+x, pos_y+300, 130, 130);

  //----- Star -----//
  beginShape();
  fill(255);
  //fill((random(0, 255)), (random(0, 255)), (random(0, 255)));
  vertex(pos_x+370+x, pos_y+243);
  vertex(pos_x+382.5+x, pos_y+280.5);
  vertex(pos_x+420+x, pos_y+280.5);
  vertex(pos_x+395+x, pos_y+305.5);
  vertex(pos_x+407.5+x, pos_y+343);
  vertex(pos_x+370+x, pos_y+318);
  vertex(pos_x+332.5+x, pos_y+343);
  vertex(pos_x+345+x, pos_y+305.5);
  vertex(pos_x+320+x, pos_y+280.5);
  vertex(pos_x+357.5+x, pos_y+280.5);
  endShape(CLOSE);
}
void keyPressed() {
  if (keyCode==UP)speed+=0.5;
  if (keyCode==DOWN)speed-=0.5;
  if (speed<=2)speed=2;
  if (speed>=30)speed=30;
}
void mousePressed() {
  if (mouseButton == LEFT) {
    max_shield++;
    {
      if (max_shield>=6)max_shield=6;
    }
  } else if (mouseButton == RIGHT) {
    max_shield--;
    {
      if (max_shield<=1)max_shield=1;
    }
  }
}

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

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