2020年11月16日 星期一

Bill_week10

今天老師讓我們作其中報告,期中成績占10%(拿網誌的寫作狀況來評分)期末成績占40%期中作品佔40%,期中作業的繳交日期到11周(之後補教也可以)






https://hackmd.io/@NrgG4-TCS42pma6IfQW84A/rkR_9r4Qe?type=slide#/21

程式備份:PImage img1,img2,img3,img4,img5,img6,img7;

void setup(){

  size(400,500);

  img1=loadImage("start1.png");

  img2=loadImage("win.png");

  img3=loadImage("lose.png");

  img4=loadImage("player2.png");

  img5=loadImage("normal.png");

  img6=loadImage("nail.png");

  img7=loadImage("wall.png");

  for(int i=0;i<10;i++){

    boardX[i]=random(0,300);

    boardY[i]=i*50;

  }

}

int stage=0,health=3,timer=1800;

float x=200,y=200,vx=0;

boolean kidOnBoard=true;

void draw(){

  background(0);

  if(stage==0){

    background(#9B5203);

    noFill();rect(190,320,80,40);

    image(img1,170,280,120,120);

    if(mousePressed&&mouseX>190&&mouseX<270&&mouseY>320&&mouseY<360)stage=1;

  }else if(stage==1){

    image(img4,x-15,y-25,30,50);

    x+= vx;

    if(y>520||y<0){

      health--;

      println(health);

      x=200;y=200;

    }

    

    if(health==0)stage=3;

    if(x<35)x=36;

    if(x>365)x=364;

    for(int i=0;i<10;i++){

      image(img5,boardX[i],boardY[i],boardW,20);

      boardY[i]--;

      if(boardY[i]<0){

        boardY[i]=500;

        boardX[i]=random(0,300);

      }

    }

    image(img6,0,0,500,20);

    image(img7,0,0,20,500);

    image(img7,380,0,20,500);

    textSize(25);fill(#FFFF00);text("health:"+health,240,50);

    timer--;

    textSize(30);fill(#FF0000);text(timer/60,200,50);

    if(timer==0)stage=2;

    

    fill(255);kidOnBoard=testKidOnBoard();

  

    if(kidOnBoard)y--;

    else y+=2;

  

  }else if(stage==2){

    image(img2,0,0,400,500);      

  }else if(stage==3){

    image(img3,0,0,400,500);

  }

}

void keyPressed(){

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

  if(keyCode==RIGHT)vx=+2;

}

void keyReleased(){

  vx=0;

}

float[]boardX=new float[10];

float[]boardY=new float[10];

float boardW=100;

boolean testKidOnBoard(){

  for(int i=0;i<10;i++){

  if(boardX[i]<x && x<boardX[i]+boardW){

    if(boardY[i]-25<=y && y<=boardY[i]){

      y=boardY[i]-25;

      return true;

    }

  }

}

return false;

}

  



PImage img1,img2,img3,img4,img5,img6,img7,img8,img9;
void setup(){
  size(400,500);
  img1=loadImage("start1.png");
  img2=loadImage("win.png");
  img3=loadImage("lose.png");
  img4=loadImage("player2.png");
  img5=loadImage("normal.png");
  img6=loadImage("nail.png");
  img7=loadImage("wall.png");
  img8=loadImage("left");
  img9=loadImage("right");
  
  for(int i=0;i<10;i++){
    boardX[i]=random(0,300);
    boardY[i]=i*50;
  }
}
int stage=0,health=3,timer=1800;
float x=200,y=200,vx=0;
boolean kidOnBoard=true;
void draw(){
  background(0);
  if(stage==0){
    background(#9B5203);
    noFill();rect(190,320,80,40);
    image(img1,170,280,120,120);
    if(mousePressed&&mouseX>190&&mouseX<270&&mouseY>320&&mouseY<360)stage=1;
  }else if(stage==1){
    image(img4,x-15,y-25,30,50);
    x+= vx;
    if(y>520||y<0){
      health--;
      println(health);
      x=200;y=200;
    }
    
    if(health==0)stage=3;
    if(x<35)x=36;
    if(x>365)x=364;
    for(int i=0;i<10;i++){
      image(img5,boardX[i],boardY[i],boardW,20);
      boardY[i]--;
      if(boardY[i]<0){
        boardY[i]=500;
        boardX[i]=random(0,300);
      }
    }
    image(img6,0,0,500,20);
    image(img7,0,0,20,500);
    image(img7,380,0,20,500);
    textSize(25);fill(#FFFF00);text("health:"+health,240,50);
    timer--;
    textSize(30);fill(#FF0000);text(timer/60,200,50);
    if(timer==0)stage=2;
    
    fill(255);kidOnBoard=testKidOnBoard();
  
    if(kidOnBoard)y--;
    else y+=2;
  
  }else if(stage==2){
    image(img2,0,0,400,500);      
  }else if(stage==3){
    image(img3,0,0,400,500);
  }
}


void keyPressed(){
  if(keyCode==LEFT)vx=-3;
  if(keyCode==RIGHT)vx=3;
}
void keyReleased(){
  
    vx=0;
  
}
float[]boardX=new float[10];
float[]boardY=new float[10];
float boardW=100;
boolean testKidOnBoard(){
  for(int i=0;i<10;i++){
  if(boardX[i]<x && x<boardX[i]+boardW){
    if(boardY[i]-25<=y && y<=boardY[i]){
      y=boardY[i]-25;
      return true;
    }
  }
}
return false;
}
  

沒有留言:

張貼留言