Lab3 - Book



float Rx, Ry;

void setup() {
  size(580, 580);
  smooth();
  strokeWeight(3);
  frameRate(60);
}

float LineL, LineR;
int up;


void draw() {
  if (keyPressed){
    if (key == 'u' || key == 'U') {
      up++;
      if (up>=8)up=8;
    }
    else if (key == 'd' || key == 'D') {
    up--;
    if (up<=-8)up=-8;}}

  //ratioq
  Rx=1;
  Ry=1;
  float R=width/16;
  background(#8B4513);
  Book_background();
  Secret_Box(width*8/580, height*8/580-up, 1, 1);

  Write_Text();
}


void Secret_Box(float X, float Y, float Rx, float Ry) {
  float R=width/16;
  X=X-8;
  Y=Y-9;
  TX=X;
  TY=Y;

  //Biggest box
  stroke(0);
  fill(#EEEED1);
  quad((R)*4*Rx +R*X, (R)*7.5*Ry +R*Y,
    (R)*12*Rx +R*X, (R)*7.5*Ry +R*Y,
    (R)*12*Rx +R*X, (R)*10.5*Ry +R*Y,
    (R)*4*Rx +R*X, (R)*10.5*Ry +R*Y );

  //Left//
  fill(#FFD700);
  quad((R)*3.8*Rx +R*X, (R)*7.6*Ry +R*Y, //0001
    (R)*4*Rx +R*X, (R)*7.6*Ry +R*Y,
    (R)*4*Rx +R*X, (R)*10.4*Ry +R*Y,
    (R)*3.8*Rx +R*X, (R)*10.4*Ry +R*Y );

  quad((R)*3.5*Rx +R*X, (R)*7.7*Ry +R*Y, //0010
    (R)*3.8*Rx +R*X, (R)*7.7*Ry +R*Y,
    (R)*3.8*Rx +R*X, (R)*10.3*Ry +R*Y,
    (R)*3.5*Rx +R*X, (R)*10.3*Ry +R*Y );

  quad((R)*3.3*Rx +R*X, (R)*7.6*Ry +R*Y, //0100
    (R)*3.5*Rx +R*X, (R)*7.6*Ry +R*Y,
    (R)*3.5*Rx +R*X, (R)*10.4*Ry +R*Y,
    (R)*3.3*Rx +R*X, (R)*10.4*Ry +R*Y );

  quad((R)*3.1*Rx +R*X, (R)*7.8*Ry +R*Y, //1000
    (R)*3.3*Rx +R*X, (R)*7.8*Ry +R*Y,
    (R)*3.3*Rx +R*X, (R)*10.2*Ry +R*Y,
    (R)*3.1*Rx +R*X, (R)*10.2*Ry +R*Y );

  fill(#8B6914);  //<<1000
  quad((R)*2.9*Rx +R*X, (R)*8*Ry +R*Y,
    (R)*3.1*Rx +R*X, (R)*8*Ry +R*Y,
    (R)*3.1*Rx +R*X, (R)*10*Ry +R*Y,
    (R)*2.9*Rx +R*X, (R)*10*Ry +R*Y );

  bezier((R)*2.9*Rx +R*X, (R)*8*Ry +R*Y,
    (R)*2.5*Rx +R*X, (R)*9*Ry +R*Y,
    (R)*2.5*Rx +R*X, (R)*9*Ry +R*Y,
    (R)*2.9*Rx +R*X, (R)*10*Ry +R*Y );


  //Right//
  fill(#FFD700);
  quad((R)*12*Rx +R*X, (R)*7.6*Ry +R*Y, //1000
    (R)*12.2*Rx +R*X, (R)*7.6*Ry +R*Y,
    (R)*12.2*Rx +R*X, (R)*10.4*Ry +R*Y,
    (R)*12*Rx +R*X, (R)*10.4*Ry +R*Y );

  quad((R)*12.2*Rx +R*X, (R)*7.7*Ry +R*Y, //0100
    (R)*12.5*Rx +R*X, (R)*7.7*Ry +R*Y,
    (R)*12.5*Rx +R*X, (R)*10.3*Ry +R*Y,
    (R)*12.2*Rx +R*X, (R)*10.3*Ry +R*Y );

  quad((R)*12.5*Rx +R*X, (R)*7.6*Ry +R*Y, //0010
    (R)*12.7*Rx +R*X, (R)*7.6*Ry +R*Y,
    (R)*12.7*Rx +R*X, (R)*10.4*Ry +R*Y,
    (R)*12.5*Rx +R*X, (R)*10.4*Ry +R*Y );

  quad((R)*12.7*Rx +R*X, (R)*7.8*Ry +R*Y, //0001
    (R)*12.9*Rx +R*X, (R)*7.8*Ry +R*Y,
    (R)*12.9*Rx +R*X, (R)*10.2*Ry +R*Y,
    (R)*12.7*Rx +R*X, (R)*10.2*Ry +R*Y );

  fill(#8B6914);
  quad((R)*12.9*Rx +R*X, (R)*8*Ry +R*Y, //0001>>
    (R)*13.1*Rx +R*X, (R)*8*Ry +R*Y,
    (R)*13.1*Rx +R*X, (R)*10*Ry +R*Y,
    (R)*12.9*Rx +R*X, (R)*10*Ry +R*Y );

  bezier((R)*13.1*Rx +R*X, (R)*8*Ry +R*Y,
    (R)*13.5*Rx +R*X, (R)*9*Ry +R*Y,
    (R)*13.5*Rx +R*X, (R)*9*Ry +R*Y,
    (R)*13.1*Rx +R*X, (R)*10*Ry +R*Y );

  //Mid//
  for (LineL=5; LineL<=11; LineL++) {
    if (LineL<8)
      line((R)*LineL*Rx +R*X, (R)*7.5*Ry +R*Y,
        (R)*LineL*Rx +R*X, (R)*10.5*Ry +R*Y );
    else if (LineL>8)
      line((R)*LineL*Rx +R*X, (R)*7.5*Ry +R*Y,
        (R)*LineL*Rx +R*X, (R)*10.5*Ry +R*Y );
    else line((R)*LineL*Rx +R*X, (R)*7.5*Ry +R*Y,
      (R)*LineL*Rx +R*X, (R)*10.5*Ry +R*Y );
  }
}
boolean end_X, end_Y;

void motion(float Motion_X, float Motion_Y) {

  if (LineL>=2.7)end_X=true;
  else if (LineL<-2.7)end_X=false;
  if (LineR>=2)end_Y=true;
  else if (LineR<1.5)end_Y=false;

  if (!end_X)
    LineL=LineL+Motion_X;
  else if (end_X)
    LineL=LineL-Motion_X;

  if (!end_Y)
    LineR=LineR+Motion_Y;
  else if (end_Y)
    LineR=-Motion_Y;
}

void Book_background() {
  //Bg 222 184 135//
  //G 255 231 186//

  stroke(#EEAD0E);
  fill(#8B4513);
  rect(20, 20, 540, 540);

  fill(#FFE7BA);
  rect(50, 50, 480, 480);
  //tone
  float ColorC=222;
  float ColorD=184;
  float ColorE=135;
  float ColorB=479;
  for (int A=51; A<150; A++) {
    if (ColorC<=255) {
      ColorC++;
    }
    if (ColorD<=231) {
      ColorD=ColorD+1.5;
    }
    if (ColorE<=186) {
      ColorE=ColorE+1.5;
    }
    stroke(ColorC, ColorD, ColorE);
    ColorB=ColorB-2;
    rect(A, A, ColorB, ColorB);
  }
}
float TX, TY;
void Write_Text() {
  float R=width/16;
  // Andalus//
  textFont(createFont("Andalus", R));
  String Q ="Secrets of the Millionaire Mind";
  fill(#8B4500);
  text(Q, (R)*1.7, (R)*5);

  textFont(createFont("Andalus", R));
  String W ="T. Harv Eker";
  fill(#CD950C);
  text(W, (R)*5.5, (R)*13);

  textFont(createFont("Tahoma", R));  //10,000,000
  W ="1";
  fill(#CD950C);
  text(W, (R)*4.23*Rx +R*TX, (R)*9.25*Ry +R*TY );
  W ="0";
  text(W, (R)*5.23*Rx +R*TX, (R)*9.25*Ry +R*TY );
  text(W, (R)*6.23*Rx +R*TX, (R)*9.25*Ry +R*TY );
  text(W, (R)*7.23*Rx +R*TX, (R)*9.25*Ry +R*TY );
  text(W, (R)*8.23*Rx +R*TX, (R)*9.25*Ry +R*TY );
  text(W, (R)*9.23*Rx +R*TX, (R)*9.25*Ry +R*TY );
  text(W, (R)*10.23*Rx +R*TX, (R)*9.25*Ry +R*TY );
  text(W, (R)*11.23*Rx +R*TX, (R)*9.25*Ry +R*TY );
}