2024年10月21日 星期一

WEEEEEEEEEKKKKKKKK0777777777777 week07

 001.

void setup() {

  size(500, 400);

}

void keyPressed() {

  if (keyCode==RIGHT) vx = 10;

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

  if (keyCode==UP) vy = -10;

  if (keyCode==DOWN) vy = 10;

}

void keyReleased() {

  if (keyCode==LEFT|keyCode==RIGHT) vx=0;

  if (keyCode==UP|keyCode==DOWN) vy=0;

}


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


void draw() {

  x+=vx;

  y+=vy;

  background(219);

  translate(-x, -y);

  translate(width/2, height/2);

  float mx = mouseX+x-width/2, my = mouseY+y-height/2;

  ellipse(mx, my, 8, 8);

  stroke(214);

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

    line(0, i*30, 500, i*30);

    line(i*30, 0, i*30, 500);

  }

  float dx= mx - x, dy = my - y;

  float a = atan2(dy, dx);

  angle=a;

  line(x, y, mx, my);

  pushMatrix();

  myTank(x, y, a);

  popMatrix();

  if (bulletVX !=0 && bulletVY !=0) {

    bulletX+=bulletVX;

    bulletY+=bulletVY;

    ellipse(bulletX, bulletY, 20, 20);

  }

}

float angle, bulletX=0, bulletY=0, bulletVX=0, bulletVY=0;

void mousePressed() {

  bulletX=x;

  bulletY=y;

  bulletVX=cos(angle)*10;

  bulletVY=sin(angle)*10;

}

void myTank(float x, float y, float a) {

  translate(x, y);

  rotate(a);


  fill(167, 167, 175);

  stroke(110, 110, 113);

  strokeWeight(4);

  rect(20, -10, 20, 20);


  fill(204, 102, 156);

  stroke(125, 84, 105);

  strokeWeight(3);

  ellipse(0, 0, 55, 55);

}


-----------------------------------------------------------------------------------------------------
002.
void setup() {
  size(500, 400);
}
void keyPressed() {
  if (keyCode==RIGHT) vx = 10;
  if (keyCode==LEFT) vx =-10;
  if (keyCode==UP) vy = -10;
  if (keyCode==DOWN) vy = 10;
}
void keyReleased() {
  if (keyCode==LEFT|keyCode==RIGHT) vx=0;
  if (keyCode==UP|keyCode==DOWN) vy=0;
}

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

void draw() {
  x+=vx;
  y+=vy;
  background(219);
  translate(-x, -y);
  translate(width/2, height/2);
  float mx = mouseX+x-width/2, my = mouseY+y-height/2;
  ellipse(mx, my, 8, 8);
  stroke(214);
  for (int i=0; i<30; i++) {
    line(0, i*30, 500, i*30);
    line(i*30, 0, i*30, 500);
  }
  float dx= mx - x, dy = my - y;
  float a = atan2(dy, dx);
  angle=a;
  line(x, y, mx, my);
  pushMatrix();
  myTank(x, y, a);
  popMatrix();
  for (int i=0 ;i<bulletN; i++) {
    bulletX[i]+=bulletVX[i];
    bulletY[i]+=bulletVY[i];
    ellipse(bulletX[i], bulletY[i], 20, 20);
  }
}
float angle;
int bulletN=0;
float [] bulletX=new float[100];
float [] bulletY=new float[100];
float [] bulletVX=new float[100];
float [] bulletVY=new float[100];
void mousePressed() {
  int i=bulletN;
  bulletX[i]=x;
  bulletY[i]=y;
  bulletVX[i]=cos(angle)*10;
  bulletVY[i]=sin(angle)*10;
  bulletN++;
}
void myTank(float x, float y, float a) {
  translate(x, y);
  rotate(a);

  fill(167, 167, 175);
  stroke(110, 110, 113);
  strokeWeight(4);
  rect(20, -10, 20, 20);

  fill(204, 102, 156);
  stroke(125, 84, 105);
  strokeWeight(3);
  ellipse(0, 0, 55, 55);
}
-------------------------------------------------------------------------------------------------------
003.
void setup() {
  size(500, 400);
}
void keyPressed() {
  if (keyCode==RIGHT) vx = 10;
  if (keyCode==LEFT) vx =-10;
  if (keyCode==UP) vy = -10;
  if (keyCode==DOWN) vy = 10;
}
void keyReleased() {
  if (keyCode==LEFT|keyCode==RIGHT) vx=0;
  if (keyCode==UP|keyCode==DOWN) vy=0;
}

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

void draw() {
  x+=vx;
  y+=vy;
  background(219);
  translate(-x, -y);
  translate(width/2, height/2);
  float mx = mouseX+x-width/2, my = mouseY+y-height/2;
  ellipse(mx, my, 8, 8);
  stroke(214);
  for (int i=0; i<30; i++) {
    line(0, i*30, 500, i*30);
    line(i*30, 0, i*30, 500);
  }
  float dx= mx - x, dy = my - y;
  float a = atan2(dy, dx);
  angle=a;
  line(x, y, mx, my);
  pushMatrix();
  myTank(x, y, a);
  popMatrix();
  for (int i=0; i<bulletN; i++) {
    bulletX[i]+=bulletVX[i];
    bulletY[i]+=bulletVY[i];
    ellipse(bulletX[i], bulletY[i], 20, 20);
    bulletT[i] --;
    if (bulletT[i]==0) {
      for (int k=0; k<bulletN; k++) {
        bulletX[k-1]=bulletX[k];
        bulletY[k-1]=bulletY[k];
        bulletVX[k-1]=bulletVX[k];
        bulletVY[k-1]=bulletVY[k];
        bulletT[k-1]=bulletT[k];
      }
      bulletN --;
    }
  }
  println(bulletN);
}
float angle;
int bulletN=0;
float [] bulletX=new float[100];
float [] bulletY=new float[100];
float [] bulletVX=new float[100];
float [] bulletVY=new float[100];
int [] bulletT=new int[100];
void mousePressed() {
  int i=bulletN;
  bulletX[i]=x;
  bulletY[i]=y;
  bulletVX[i]=cos(angle)*0.5;
  bulletVY[i]=sin(angle)*0.5;
  bulletN++;
  if (bulletN==100) {
    for (int k=0; k<50; k++) {
      bulletX[k]=bulletX[k+50];
      bulletY[k]=bulletY[k+50];
      bulletVX[k]=bulletVX[k+50];
      bulletVY[k]=bulletVY[k+50];
    }
    bulletN=50;
  }
}

void myTank(float x, float y, float a) {
  translate(x, y);
  rotate(a);

  fill(167, 167, 175);
  stroke(110, 110, 113);
  strokeWeight(4);
  rect(20, -10, 20, 20);

  fill(204, 102, 156);
  stroke(125, 84, 105);
  strokeWeight(3);
  ellipse(0, 0, 55, 55);
}

沒有留言:

張貼留言