2022年11月28日 星期一

永夜初晗凝碧天 week13

```java
float [] objectx= new float[100];
float [] objecty= new float[100];
int [] size1= new int[100];

void setup()
{
  size(1600, 900);
  PFont font=createFont("標楷體", 15);
  textFont(font);
  textAlign(CENTER, CENTER);
  for (int i=0; i<100; i++)
  {
    objectx[i]=random(1500)+50;
    objecty[i]=random(800)+50;
    size1[i]=int(random(100)+30);
  }
}
void draw()
{
  background(#666554);
  for (int i=0; i<100; i++)
  {
    fill(255, 0, 0);
    ellipse(objectx[i], objecty[i], size1[i]/2, size1[i]/2);
    fill(0);
    text(size1[i], objectx[i], objecty[i]);

    if (dist(bx, by, objectx[i], objecty[i]) < (bw+10)/2 && a>size1[i])
    {
      bw+=1;
      bh+=1;
      objectx[i]=-100;
      objecty[i]=-100;
      a+=size1[i]/10;
    }

    if (dist(px, py, objectx[i], objecty[i]) < (bw+10)/2 && b>size1[i])
    {
      pw+=1;
      ph+=1;
      objectx[i]=-100;
      objecty[i]=-100;
      b+=size1[i]/10;
    }
    if (dist(bx, by, px, py) < (bw+10)/2 && a>b)
    {
      bx=-200;
      by=-200;
      px=-200;
      py=-200;
      background(#666554);
      textSize(80);

      fill(0);
      text("blackhole win", 800, 450);

      ellipse(800, 700, 100, 100);
      fill(255);
      textSize(30);
      text(a, 800, 700);
    } else if (dist(px, py, bx, by) < (bw+10)/2 && b>a)
    {
      bx=-200;
      by=-200;
      px=-200;
      py=-200;
      background(#666554);
      textSize(80);
      
      fill(255);
      text("whitehole win", 800, 450);

      ellipse(800, 700, 100, 100);
      fill(0);
      textSize(30);
      text(b, 800, 700);
    } else
    {
      textSize(15);
    }
  }
  fill(0);
  ellipse(bx, by, bw, bh);
  
  fill(255);
  text(a, bx, by);
  bx+=vx;
  by+=vy;
  fill(255);
  ellipse(px, py, pw, ph);
  fill(0);
  text(b, px, py);
  px+=wx;
  py+=wy;
}
int a=50, b=50;
float bx=30, by=30;
int bw=50, bh=50;
float px=1570, py=30;
int pw=50, ph=50;
float vx=0, vy=0;
float wx=0, wy=0;
void keyPressed()
{
  if (a<150)
  {
    if (keyCode==LEFT) vx=-2;
    if (keyCode==RIGHT) vx=2;
    if (keyCode==UP) vy=-2;
    if (keyCode==DOWN) vy=2;
  }
  if (a>=150)
  {
    if (keyCode==LEFT) vx=-1;
    if (keyCode==RIGHT) vx=1;
    if (keyCode==UP) vy=-1;
    if (keyCode==DOWN) vy=1;
  }
  if (bx==-100 &&by==-100)
  {
    if (keyCode==LEFT) vx=0;
    if (keyCode==RIGHT) vx=0;
    if (keyCode==UP) vy=0;
    if (keyCode==DOWN) vy=0;
  }
  if (b<150)
  {
    if (keyCode=='A') wx=-2;
    if (keyCode=='D') wx=2;
    if (keyCode=='W') wy=-2;
    if (keyCode=='S') wy=2;
  }
  if (b>=150)
  {
    if (keyCode=='A') wx=-1;
    if (keyCode=='D') wx=1;
    if (keyCode=='W') wy=-1;
    if (keyCode=='S') wy=1;
  }
  if (px==-200 && py==-200)
  {
    if (keyCode=='A') wx=0;
    if (keyCode=='D') wx=0;
    if (keyCode=='W') wy=0;
    if (keyCode=='S') wy=0;
  }
}
void keyReleased()
{
  if (keyCode==LEFT) vx=0;
  if (keyCode==RIGHT) vx=0;
  if (keyCode==UP) vy=0;
  if (keyCode==DOWN) vy=0;

  if (keyCode=='A') wx=0;
  if (keyCode=='D') wx=0;
  if (keyCode=='W') wy=0;
  if (keyCode=='S') wy=0;
}
```




沒有留言:

張貼留言