14 กันยายน 2558

Lab4 Doraemon book

void setup() {
  size(800, 800);
  background(#F6B0D8);
}

int move_X = 0;
int move_Y = 0;
void draw() {
  int X = 0;
  int Y = 0;
  int max_book = 4;
  int pre_book = 1;
  background(#F6B0D8);
  while (pre_book<=max_book) {
    draw_book(move_X+X, move_Y+Y);
    Y+= 364;
    if (pre_book%2==0) {
      X=304;
      Y=0;
    }
    pre_book++;
  }
  if (key=='w'||key=='W') {
    move_Y-=2;
    if (move_Y<=-442) {
      move_Y=-442;
    }
  }
  if (key=='s'||key=='S') {
    move_Y+=2;
    if (move_Y>=358) {
      move_Y=358;
    }
  }
  if (key=='a'||key=='A') {
    move_X-=2;
    if (move_X<=-402) {
      move_X=-402;
    }
  }
  if (key=='d'||key=='D') {
    move_X+=2;
    if (move_X>=397) {
      move_X=397;
    }
  }
}

void draw_book(int pos_x, int pos_y) {

  strokeJoin(ROUND);
  //----- front page -----//
  strokeWeight(2);
  fill(#323C5D);
  rect(pos_x+100, pos_y+100, 270, 340);

  //----- behind doraemon background -----//
  noStroke();
  fill(#FCE314);
  rect(pos_x+125, pos_y+220, 220, 205);

  //----- name book background -----//
  fill(255);
  rect(pos_x+125, pos_y+130, 220, 50);
  //----- name book -----//
  fill(0);
  textSize(35);
  text("DORAEMON", pos_x+133, pos_y+167);

  //----- book page -----//
  strokeWeight(2);
  stroke(0);
  fill(255);
  quad(pos_x+100, pos_y+100, pos_x+130, pos_y+80, pos_x+400, pos_y+80, pos_x+370, pos_y+100);
  quad(pos_x+370, pos_y+100, pos_x+400, pos_y+80, pos_x+400, pos_y+420, pos_x+370, pos_y+440);
  strokeWeight(1);
  line(pos_x+106, pos_y+96, pos_x+376, pos_y+96);
  line(pos_x+112, pos_y+92, pos_x+382, pos_y+92);
  line(pos_x+118, pos_y+88, pos_x+388, pos_y+88);
  line(pos_x+124, pos_y+84, pos_x+394, pos_y+84);
  line(pos_x+376, pos_y+96, pos_x+376, pos_y+436);
  line(pos_x+382, pos_y+92, pos_x+382, pos_y+432);
  line(pos_x+388, pos_y+88, pos_x+388, pos_y+428);
  line(pos_x+394, pos_y+84, pos_x+394, pos_y+424);

  //----- Doraemon -----//
  strokeWeight(3);
  stroke(#325D87);
  //----- face -----//
  fill(#4F81BC);
  ellipse(pos_x+235, pos_y+320, 200, 175);
  fill(255);
  ellipse(pos_x+235, pos_y+334, 140, 125);

  //----- eyes -----//
  fill(255);
  ellipse(pos_x+215, pos_y+274, 37, 50);
  ellipse(pos_x+255, pos_y+274, 37, 50);
  fill(#325D87);
  ellipse(pos_x+220, pos_y+279, 8, 8);
  strokeWeight(4);
  arc(pos_x+248, pos_y+281, 6, 6, PI, TWO_PI);
  strokeWeight(3);

  //----- nose -----//
  fill(#FE0000);
  ellipse(pos_x+235, pos_y+301, 20, 20);

  //----- mounth -----//
  noFill();
  arc(pos_x+235, pos_y+350, 100, 50, 0, PI);
  line(pos_x+235, pos_y+312, pos_x+235, pos_y+375);

  //----- Whiskers -----//
  line(pos_x+220, pos_y+320, pos_x+177, pos_y+315);
  line(pos_x+220, pos_y+325, pos_x+175, pos_y+325);
  line(pos_x+220, pos_y+330, pos_x+177, pos_y+335);

  line(pos_x+250, pos_y+320, pos_x+293, pos_y+315);
  line(pos_x+250, pos_y+325, pos_x+295, pos_y+325);
  line(pos_x+250, pos_y+330, pos_x+293, pos_y+335);

  //----- collar -----//
  fill(#FD0000);
  rect(pos_x+185, pos_y+395, 100, 13);

  //----- bell -----//
  fill(#FCBE0C);
  ellipse(pos_x+235, pos_y+394, 20, 20);

  //----- hands -----//
  fill(255);
  ellipse(pos_x+180, pos_y+395, 30, 28);
  ellipse(pos_x+290, pos_y+395, 30, 28);
}

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

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