2024年10月21日 星期一

week07

week07



week07-1

void setup(){

  size(500,400);


float x=250, y=200;

void draw(){

  background(215,184,200);

  fill(167,167,175);

  stroke(110,110,113);

  strokeWeight(4);

  rect(240,180,20,20);

  

 

 fill(204,102,156);

 stroke(125,84,105);

 strokeWeight(3);

 ellipse(x,y,55,55);

 

 line(x,y,mouseX,mouseY);

}

                                       



week07-2

void setup(){

  size(500,400);


float x=250, y=200;

void draw(){

  background(215,184,200);

 float dx = mouseX - x, dy = mouseY - y;

 float a = atan2(dy,dx);

 strokeWeight(20);

 line(x,y,x+cos(a)*40, y+sin(a)*40);

 

  fill(167,167,175);

  stroke(110,110,113);

  strokeWeight(4);

  rect(240,160,20,20);

  

 

 fill(204,102,156);

 stroke(125,84,105);

 strokeWeight(3);

 ellipse(x,y,55,55);

 

 line(x,y,mouseX,mouseY);

}

                                              


week07-3
void setup(){
  size(500,400);

float x=250, y=200;
void draw(){
  background(215,184,200);
 float dx = mouseX - x, dy = mouseY - y;
 float a = atan2(dy,dx);
 line(x,y,mouseX,mouseY);
 myTank(x,y,a);
}
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);
 
 line(x,y,mouseX,mouseY);
}
                                    



week07-4
void setup(){
  size(500,400);

void keyPressed(){
  if(keyCode==RIGHT) x += 1;
  if(keyCode==LEFT) x -= 1;
  if(keyCode==UP) y -= 1;
  if(keyCode==DOWN) y += 1;
}
float x=250, y=200;
void draw(){
  background(219);
  stroke(210);
  strokeWeight(1);
  for(int i=0; i<30; i++){
    line(0,i*30,500,i*30);
    line(i*30,0,i*30,500);
  }
 float dx = mouseX - x, dy = mouseY - y;
 float a = atan2(dy,dx);
 line(x,y,mouseX,mouseY);
 myTank(x,y,a);
}
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);
 
 line(x,y,mouseX,mouseY);
}


week07-5
void setup(){
  size(500,400);

void keyPressed(){
  if(keyCode==RIGHT) x += 1;
  if(keyCode==LEFT) x -= 1;
  if(keyCode==UP) y -= 1;
  if(keyCode==DOWN) y += 1;
}
float x=250, y=200;
void draw(){
  background(219);
  translate(-x, -y);
  translate(width/2,height/2);
  float mx = mouseX+width/2,my=mouseY+y-height/2;
  ellipse(mx,my,8,8);
  stroke(210);
  strokeWeight(1);
  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);
 line(x,y,mx,my);
 myTank(x,y,a);
}
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);
 
 line(x,y,mouseX,mouseY);
}





week07-6
void setup(){
  size(500,400);

void keyPressed(){
  if(keyCode==RIGHT) vx = 1;
  if(keyCode==LEFT) vx =-1;
  if(keyCode==UP)vy -= 1;
  if(keyCode==DOWN)vy  = 1;
}
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+width/2,my=mouseY+y-height/2;
  ellipse(mx,my,8,8);
  stroke(210);
  strokeWeight(1);
  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);
 line(x,y,mx,my);
 myTank(x,y,a);
}
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);
 
 line(x,y,mouseX,mouseY);
}



week07-7
void setup() {
  size(500, 400);
}

void keyPressed() {
  if (keyCode==RIGHT) vx = 1;
  if (keyCode==LEFT) vx =-1;
  if (keyCode==UP)vy -= 1;
  if (keyCode==DOWN)vy  = 1;
}
void keyReleased() {
  if (keyCode==LEFT || keyCode==RIGHT) vx=0;
  if (keyCode==UP   || keyCode==DOWN ) vx=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+width/2, my=mouseY+y-height/2;
  ellipse(mx, my, 8, 8);
  stroke(210);
  strokeWeight(1);
  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);
  bulletVY= sin(angle);
}

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);

  line(x, y, mouseX, mouseY);
}

week07-8
void setup() {
  size(500, 400);
}

void keyPressed() {
  if (keyCode==RIGHT) vx = 1;
  if (keyCode==LEFT) vx =-1;
  if (keyCode==UP)vy -= 1;
  if (keyCode==DOWN)vy  = 1;
}
void keyReleased() {
  if (keyCode==LEFT || keyCode==RIGHT) vx=0;
  if (keyCode==UP   || keyCode==DOWN ) vx=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+width/2, my=mouseY+y-height/2;
  ellipse(mx, my, 8, 8);
  stroke(210);
  strokeWeight(1);
  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);
  bulletVY[i]= sin(angle);
  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);

  line(x, y, mouseX, mouseY);
}

只有100顆子彈












沒有留言:

張貼留言