2018年10月18日 星期四

week06 Steven課堂筆記

水果忍者

float fruitX,fruitY,fruitVX,fruitVY;
void setup(){
  size(800,600);
  fruitX=30; fruitVX=3;
  fruitY=700; fruitVY=-35;
}
void draw(){
  background(0);
  ellipse(fruitX,fruitY,100,100);
  fruitX+=fruitVX;
  fruitY+=fruitVY;
  fruitVY+=0.98;
}
加入陣列
float [] fruitX=new float[20];
float [] fruitY=new float[20];
float [] fruitVX=new float[20];
float [] fruitVY=new float[20];
void setup(){
  size(800,600);
  for(int i=0;i<20;i++){
  fruitX[i]=random(800); fruitVX[i]=3;
  fruitY[i]=700; fruitVY[i]=-35;
  }
}
void draw(){
  background(0);
  for(int i=0;i<20;i++){
  ellipse(fruitX[i],fruitY[i],100,100);
  fruitX[i]+=fruitVX[i];
  fruitY[i]+=fruitVY[i];
  fruitVY[i]+=0.98;
  }
}
加入隨機 無限循環
float [] fruitX=new float[20];
float [] fruitY=new float[20];
float [] fruitVX=new float[20];
float [] fruitVY=new float[20];
void reborn(int i){
  fruitX[i]=random(800); fruitVX[i]=random(6)-3;
  fruitY[i]=700; fruitVY[i]=-35;
}
void setup(){
  size(800,600);
  for(int i=0;i<20;i++){
  reborn(i);
  }
}
void draw(){
  background(0);
  for(int i=0;i<20;i++){
  if(dist(mouseX,mouseY,fruitX[i],fruitY[i])<=50){
    reborn(i);continue;
  }
  ellipse(fruitX[i],fruitY[i],100,100);
  fruitX[i]+=fruitVX[i];
  fruitY[i]+=fruitVY[i];
  fruitVY[i]+=0.98;
  if(fruitY[i]>700) reborn(i);
  }
}

2 則留言:

  1. float []ballX=new float[2000];
    float []ballY=new float[2000];
    float []ballVX=new float[2000];
    float []ballVY=new float[2000];
    int score=0;
    void setup(){
    size(600,800);
    }
    void draw(){
    background(255);
    fill(255,0,0);
    rect(250,100,100,100);
    for(int i=0;i<2000;i++){

    if(dist(ballX[i],ballY[i],300,150)<=5)
    {
    score++;
    }
    if(dist(ballX[i],ballY[i],300,100)<=1)
    {

    ball[i]=false;
    }
    if(ball[i]){
    ellipse(ballX[i],ballY[i],50,50);
    ballY[i]+=ballVY[i];
    ballVY[i]+=.98;
    }
    }
    fill(255,0,0);textSize(80);text("Score:"+score,100,100);
    }
    int i=0;
    boolean []ball=new boolean[2000];
    void mousePressed(){
    ball[i]=true;
    ballX[i]=mouseX; ///ballVX[i]=random(3);
    ballY[i]=mouseY;ballVY[i]=-35;
    i++;
    }

    回覆刪除
  2. PImage imgBullet,imgBG;
    float []ballX=new float[2000];
    float []ballY=new float[2000];
    float []ballVX=new float[2000];
    float []ballVY=new float[2000];

    int score=0;
    void setup(){
    size(600,800);
    imgBG=loadImage("out.png");
    imgBullet=loadImage("ball.png");
    imageMode(CENTER);

    }
    void draw(){
    background(255);

    image(imgBG,300,300,300,300);

    image(imgBullet,mouseX,mouseY,100,100);

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

    if(dist(ballX[i],ballY[i],300,150)<=10)
    {
    score++;
    }
    if(dist(ballX[i],ballY[i],300,150)<=5)
    {

    ball[i]=false;
    }
    if(ball[i]){
    image(imgBullet,ballX[i],ballY[i],100,100);
    ballY[i]+=ballVY[i];
    ballVY[i]+=.98;
    }
    }
    fill(255,0,0);textSize(80);text("Score:"+score,100,100);

    }
    int i=0;
    boolean []ball=new boolean[2000];
    void mousePressed(){
    ball[i]=true;
    ballX[i]=mouseX; ///ballVX[i]=random(3);
    ballY[i]=mouseY;ballVY[i]=-35;
    i++;
    }

    回覆刪除