2021年11月22日 星期一

black_Week07

 week11

1.利用微積分掉落球


2.掉落球*2


3.利用for迴圈和陣列掉落數顆球


4.球彈地互動


5.被紅球碰到後停止


6.被紅球碰到後消失


7.熟悉布林變數


8.布林應用


9.隨機產生球


class Ball

{

  float x,y,vx,vy;

  boolean dead;

  Ball()

  {

    x=random(500);

    y=random(500);

    vy=random(-4,4);

    vx=random(-4,4);

    dead=false;

  }

  void draw()

  {

    if(dead==true)return;

    ellipse(x,y,50,50);

    if(dist(mouseX,mouseY,x,y)<50)

    {

      dead=true;

    }

    x=x+vx;

    y=y+vy;

    if(y>500||y<0)vy=-vy;

    if(x>500||x<0)vx=-vx;

  }

}

Ball []balls;

void setup()

{

  size(500,500);

  balls=new Ball[20];

  for(int i=0;i<20;i++)

  {

    balls[i]=new Ball();

  }

}

void draw()

{

  background(255);

  for(int i=0;i<20;i++)

  {

    balls[i].draw();

  }

}

10.重力加速度


11.reborn99


class Ball{
  float x, y, vx, vy;
  boolean dead;
  Ball(){
    reborn();
  }
  void reborn(){
    x = random(500);
    y = random(500);
    vy = random(-2,2);
    vx = random(-2,2);
    dead = false;
  }
  void draw(){
    if(dead==true) return;
    fill(255,0,0); ellipse(x,y, 5,5);
    if( dist(mouseX,mouseY,x,y)<5 ){
      dead=true;
      gameOver=true;
    }
    x = x + vx*1;
    y = y + vy*1;
    if(y>500 || y<0) reborn();
    if(x>500 || x<0) reborn();
  }
}
Ball [] balls;
void setup(){
  size(500,500);
  balls = new Ball[99];
  for(int i=0; i<99; i++){
    balls[i] = new Ball();
  }
}
boolean gameOver=false;
void draw(){
  background(0);
  for(int i=0; i<99; i++){
    balls[i].draw();
  }
  if(gameOver) background(255,0,0);  
}

沒有留言:

張貼留言