2024年10月21日 星期一

琪貓貓!!!


 ===========================================================================

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)*50,y+sin(a)*50);
  
  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);
}
=================================================================================================

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

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(215,184,200);
  background(219);
  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=mouseX-x,dy=mouseY-y;
  float a=atan2(dy,dx);
  
  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);
}
===============================================================================================
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(215,184,200);
  background(219);
  stroke(214);
  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(210);
  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);
  lilne(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);
}

==============================================================================================

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(215,184,200);
  background(219);
  stroke(214);
  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(210);
  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);
}
==============================================================================================

void setup(){
 size(500, 400);
}
void keyPressed(){  
  if(keyCode==RIGHT) vx = 1; //x += 1;
  if(keyCode==LEFT) vx -= 1; //x -= 1;
  if(keyCode==UP) vy = -1; //y -= 1;
  if(keyCode==DOWN) vy = 1; //y += 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(214); 
  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(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); 
}

==============================================================================================

void setup(){
 size(500, 400);
}
void keyPressed(){  //q按下去時,會有速度, 放開後,速度要變成()
  if(keyCode==RIGHT) vx = 1; //x += 1;
  if(keyCode==LEFT) vx -= 1; //x -= 1;
  if(keyCode==UP) vy = -1; //y -= 1;
  if(keyCode==DOWN) vy = 1; //y += 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(214); //灰底
  translate(-x, -y); //讓全世界, 都往反方向移動
  translate(width/2, height/2); //把0,0 移畫面正中心
  float mx = mouseX+x-width/2, my = mouseY+y-height/2; //換算 mx, my 的座標
  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; //改用 mx, my
  float a = atan2(dy, dx); //atan2() 算出角度
  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); 
}
==============================================================================================
void setup(){
 size(500, 400);
}
void keyPressed(){  //q按下去時,會有速度, 放開後,速度要變成()
  if(keyCode==RIGHT) vx = 1; //x += 1;
  if(keyCode==LEFT) vx -= 1; //x -= 1;
  if(keyCode==UP) vy = -1; //y -= 1;
  if(keyCode==DOWN) vy = 1; //y += 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(214); //灰底
  translate(-x, -y); //讓全世界, 都往反方向移動
  translate(width/2, height/2); //把0,0 移畫面正中心
  float mx = mouseX+x-width/2, my = mouseY+y-height/2; //換算 mx, my 的座標
  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; //改用 mx, my
  float a = atan2(dy, dx); //atan2() 算出角度
  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 ++;
  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); 
}
=============================================================================================

void setup(){
 size(500, 400);
}
void keyPressed(){  //q按下去時,會有速度, 放開後,速度要變成()
  if(keyCode==RIGHT) vx = 1; //x += 1;
  if(keyCode==LEFT) vx -= 1; //x -= 1;
  if(keyCode==UP) vy = -1; //y -= 1;
  if(keyCode==DOWN) vy = 1; //y += 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(214); //灰底
  translate(-x, -y); //讓全世界, 都往反方向移動
  translate(width/2, height/2); //把0,0 移畫面正中心
  float mx = mouseX+x-width/2, my = mouseY+y-height/2; //換算 mx, my 的座標
  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; //改用 mx, my
  float a = atan2(dy, dx); //atan2() 算出角度
  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=i+1;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);
  bulletVY[i] = sin(angle);
  bulletT[i]=600;
  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); 
}

沒有留言:

張貼留言