2021年12月27日 星期一

岩壁悲歌 Week12

  2021/12/27

----------------------------------------

小葉老師在協助同學期末作品


子彈碰到會死掉








float x,y;

boolean die=false;

float []bulletX=new float[40];

float []bulletY=new float[40];

float []bulletVX=new float[40];

float []bulletVY=new float[40];;

void setup(){

  size(300,500);

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

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

    bulletY[i]=random(-30.0);

    bulletVX[i]=random(-1,+1);

    bulletVY[i]=random(1,2);

  }

}

void draw(){

  background(0);

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

    if(!die){

      bulletX[i]+=bulletVX[i];  bulletY[i]+=bulletVY[i];

    }

    fill(255,255,0);  ellipse(bulletX[i],bulletY[i],8,8);

    if(dist(x,y,bulletX[i],bulletY[i])<12){

      die=true;

    }

    if(bulletY[i]>500)  bulletY[i]=0;

  }

  if(die)  ellipse(x,y,30,30);

  else{

    fill(255);  ellipse(x,y,15,15);

    x=mouseX; y=mouseY;

  }

}

-----------------------------------------------------

消除的問題
















int [][]stone={
  {1,2,2,2},
  {1,2,2,1},
  {1,2,2,1},
  {1,2,2,1},
};
void checkRow(int i){
  for(int j=0;j<4;j++){
    int now=stone[i][j];
    int combo=1;
    for(int k=j+1;k<4;k++){
      if(stone[i][k]==now){
        combo++;
      }else{
        break;
      }
    }
    if(combo>=3){
      for(int k=j;k<j+combo;k++){
        stone[i][k]=0;
      }
    }
  }
}
void check(){
  for(int i=0;i<4;i++){
    checkRow(i);
  }
  for(int j=0;j<4;j++){
    //ckeckCol(j);
  }
}
void setup(){
  size(400,400);
}
void draw(){
  for(int i=0;i<4;i++){
    for(int j=0;j<4;j++){
      if(stone[i][j]==1)  fill(0);
      else if(stone[i][j]==1)  fill(255,0,0);
      else if(stone[i][j]==2)  fill(0,255,0);
      rect(j*100,i*100,100,100);
    }
  }
}
void mousePressed(){
  checkRow(0);
  checkRow(1);
  checkRow(2);
  checkRow(3);
}
--------------------------------------------------------------
如何過關






int state=0;

void setup(){

  size(500,200);

}

float x=400,y=100,vx=0;

void draw(){

  if(state==0){

    background(255);

    x+=vx;

    ellipse(x,y,20,20);

    line(40,0,40,200);

    if(x<40) state=1;

  }else if(state==1){;

    background(255,255,0);

    fill(0);  textSize(80);  text("過關",20,100);

  }

}

void keyPressed(){

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

}

void keyReleased(){

  if(keyCode==LEFT) vx=0;

}


沒有留言:

張貼留言