2023年11月2日 星期四

馬力歐week08

 week08

1.

void setup(){

  size(400,400);

}

float x=200,y=200,vx=1,vy=1;

void draw(){

  ellipse(x,y,10,10);

  x+=vx;

  y+=vy;

}

2.

void setup(){

  size(400,400);

}

float x=50,y=250,vx=2,vy=-20;

void draw(){

  ellipse(x,y,10,10);

  x+=vx;

  y+=vy;

  vy+=0.98;

}

3.

void setup(){

  size(400,400);

}

float x=50,y=250,vx=2,vy=-20;

void draw(){

  x+=vx;

  y+=vy;

  vy+=0.98;

  if(y>350){

    y=350;

  }

   ellipse(x,y,10,10);

}

3-1.

void setup(){

  size(400,400);

}

float x=50,y=250,vx=2,vy=-20;

void draw(){

  x+=vx;

  y+=vy;

  vy+=0.98;

  if(y>350){

    y=350;

    vy=-vy*05;

  }

   ellipse(x,y,10,10);

}

4.

void setup(){

  size(400,400);

}

float marioX=50,marioY=250,vx=2,vy=-20;

void draw(){

  background(108,137,255);

  marioX+=vx;

  fill(255,0,0);    ellipse(marioX,marioY,15,25);

  fill(229,119,42); rect(0,260,400,150);

}

void keyPressed(){

  if(keyCode==RIGHT)  vx=2;

  if(keyCode==LEFT)  vx=-2;

}

5.

void setup(){

  size(400,400);

}

float marioX=50,marioY=250,vx=0,vy=0;

void draw(){

  background(108,137,255);

  marioX+=vx;

  marioY+=vy;

  fill(255,0,0);    ellipse(marioX,marioY,15,25);

  fill(229,119,42); rect(0,260,400,150);

}

void keyPressed(){

  if(keyCode==RIGHT)  vx=2;

  if(keyCode==LEFT)  vx=-2;

  if(keyCode==UP)  vy=-20;

}

void  keyReleased(){

   if(keyCode==RIGHT||keyCode==LEFT) vx=0;

}

6.

void setup(){

  size(400,400);

}

float marioX=50,marioY=250,vx=0,vy=0;

void draw(){

  background(108,137,255);

  marioX+=vx;

  if(flying){

    marioY+=vy;

    vy+=0.98;

    if(marioY>=250){

      marioY=250;

      flying=false;

    }

 }

  fill(255,0,0);    ellipse(marioX,marioY,15,25);

  fill(229,119,42); rect(0,260,400,150);

}

boolean  flying=false;

void keyPressed(){

  if(keyCode==RIGHT)  vx=2;

  if(keyCode==LEFT)  vx=-2;

  if(keyCode==UP&&flying==false){

    vy=-20;

    flying=true;

  }

}

void  keyReleased(){

   if(keyCode==RIGHT||keyCode==LEFT) vx=0;

}

7.

void setup(){

  size(400,400);

}

float marioX=50,marioY=250,vx=0,vy=0;

void draw(){

  background(108,137,255);

  marioX+=vx;

  if(flying){

    marioY+=vy;

    vy+=0.98;

    if(marioY>=250){

      marioY=250;

      flying=false;

    }

 }

  fill(255,0,0);    ellipse(marioX,marioY,15,20);

  fill(229,119,42); rect(0,260,400,150);

  fill(229,119,42); rect(200,150,20,20);

  if(hitbox(200,150,20,20)){

     vy=0;

     marioY=150+20;

  }

}

boolean  hitbox(int x,int y,int w,int h){

  if(x<marioX &&  marioX<x+w  &&  y<marioY  &&  marioY<y+h)  return true;

   else return false;

}

boolean  flying=false;

void keyPressed(){

  if(keyCode==RIGHT)  vx=2;

  if(keyCode==LEFT)  vx=-2;

  if(keyCode==UP&&flying==false){

    vy=-20;

    flying=true;

  }

}

void  keyReleased(){

   if(keyCode==RIGHT||keyCode==LEFT) vx=0;

}

8.

void setup(){

  size(400,400);

}

float marioX=50,marioY=250,vx=0,vy=0;

void draw(){

  background(108,137,255);

  marioX+=vx;

  if(flying){

    marioY+=vy;

    vy+=0.98;

    if(marioY>=250){

      marioY=250;

      flying=false;

    }

 }

  fill(255,0,0);    ellipse(marioX,marioY,15,20);

  fill(229,119,42); rect(0,260,400,150);

  fill(229,119,42); rect(200,150,20,20);

  if(hitbox(200,150,20,20)){

     if(vy>0){

       marioY=150-10;

       flying=false;

     }else{

       vy=0;

       marioY=150+20+10;

     }

  }

}

boolean  hitbox(int x,int y,int w,int h){

  if(x-7<marioX &&  marioX<x+w+7  &&  y-10<marioY  &&  marioY<y+h+10)  return true;

   else return false;

}

boolean  flying=false;

void keyPressed(){

  if(keyCode==RIGHT)  vx=2;

  if(keyCode==LEFT)  vx=-2;

  if(keyCode==UP&&flying==false){

    vy=-20;

    flying=true;

  }

}

void  keyReleased(){

   if(keyCode==RIGHT||keyCode==LEFT) vx=0;

}

9.
void setup(){
  size(400,400);
}
float marioX=50,marioY=250,vx=0,vy=0;
void draw(){
  background(108,137,255);
  marioX+=vx;
  if(flying){
    marioY+=vy;
    vy+=0.98;
    if(marioY>=250){
      marioY=250;
      flying=false;
    }
 }
  fill(255,0,0);    ellipse(marioX,marioY,15,20);
  fill(229,119,42); rect(0,260,400,150);
  fill(229,119,42); rect(200,150,20,20);
  if(hitbox(200,150,20,20)){
     if(vy>0){
       marioY=150-10;
       flying=false;
       stand_box=true;
     }else{
       vy=0;
       marioY=150+20+10;
     }
  }
  if(stand_box==true  &&  flying==false  &&  leavebox(200,150,20,20)){
    stand_box=false;
    flying=true;
    vy=0;
  }
}
boolean leavebox(int x,int y,int w,int h){
   if(x-7>marioX || marioX>x+w+7 )  return true;
   else return false;
}
boolean  hitbox(int x,int y,int w,int h){
  if(x-7<marioX &&  marioX<x+w+7  &&  y-10<marioY  &&  marioY<y+h+10)  return true;
   else return false;
}
boolean  flying=false,stand_box=false;
void keyPressed(){
  if(keyCode==RIGHT)  vx=2;
  if(keyCode==LEFT)  vx=-2;
  if(keyCode==UP&&flying==false){
    vy=-20;
    flying=true;
  }
}
void  keyReleased(){
   if(keyCode==RIGHT||keyCode==LEFT) vx=0;
}
10.
void setup(){
  size(400,400);
}
float marioX=50,marioY=250,vx=0,vy=0;
void draw(){
  background(108,137,255);
  marioX+=vx;
  if(flying){
    marioY+=vy;
    vy+=0.98;
    if(marioY>=250){
      marioY=250;
      flying=false;
    }
 }
  fill(255,0,0);    ellipse(marioX,marioY,15,20);
  fill(229,119,42); rect(0,260,400,150);
  drawAndTestBox(100,150,20,20);
  drawAndTestBox(200,150,20,20);
  drawAndTestBox(300,150,20,20);
}
void drawAndTestBox(int x,int y,int w,int h){
   fill(229,119,42); rect(x,y,w,h);
  if(hitbox(x,y,w,h)){
     if(vy>0){
       marioY=y-10;
       flying=false;
       stand_box=true;
     }else{
       vy=0;
       marioY=y+h+10;
     }
  }
  if(stand_box==true  &&  flying==false  &&  leavebox(x,y,w,h)){
    stand_box=false;
    flying=true;
    vy=0;
  }
}
boolean leavebox(int x,int y,int w,int h){
   if(x-7>marioX || marioX>x+w+7 )  return true;
   else return false;
}
boolean  hitbox(int x,int y,int w,int h){
  if(x-7<marioX &&  marioX<x+w+7  &&  y-10<marioY  &&  marioY<y+h+10)  return true;
   else return false;
}
boolean  flying=false,stand_box=false;
void keyPressed(){
  if(keyCode==RIGHT)  vx=2;
  if(keyCode==LEFT)  vx=-2;
  if(keyCode==UP&&flying==false){
    vy=-20;
    flying=true;
    stand_box=false;
  }
}
void  keyReleased(){
   if(keyCode==RIGHT||keyCode==LEFT) vx=0;
}







沒有留言:

張貼留言