2024年10月21日 星期一

本太子的白月光呢

 1.

void setup(){

 size(500,400);

}

float x = 250,y = 200;

void draw(){

 background(#C0EBD7);

 fill(162,217,117);///先畫方形(砲台)

 stroke(91,152,41);

 strokeWeight(4);

 rect(240,160,20,20);

 fill(#F98D74);///再畫圓形(主體)

 stroke(208,119,21);

 strokeWeight(3);

 ellipse(x,y,55,55);

 line(x,y,mouseX,mouseY);

}

2. 

void setup(){

 size(500,400);

}

float x = 250,y = 200;

void draw(){

 background(#C0EBD7);

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

 float a = atan2(dy,dx);

 stroke(162,217,117);

 strokeWeight(20);///直接用很粗的線當砲台(?)

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

 fill(162,217,117);///先畫方形(砲台)

 stroke(91,152,41);

 strokeWeight(4);

 rect(240,160,20,20);

 fill(#F98D74);///再畫圓形(主體)

 stroke(208,119,21);

 strokeWeight(3);

 ellipse(x,y,55,55);

}

3. 

void setup(){

 size(500,400);

}

float x = 250,y = 200;

void draw(){

 background(#C0EBD7);

 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(162,217,117);///先畫方形(砲台)

  stroke(91,152,41);

  strokeWeight(4);

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

  fill(#F98D74);///再畫圓形(主體)

  stroke(208,119,21);

  strokeWeight(3);

  ellipse(0,0,55,55);

}

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(#C0EBD7);(有顏色

 ///stroke(126,220,166);的地板)

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

 myTank(x,y,a);

}

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

  translate(x,y);

  rotate(a);///旋轉

  fill(162,217,117);///先畫方形(砲台)

  stroke(91,152,41);

  strokeWeight(4);

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

  fill(#F98D74);///再畫圓形(主體)

  stroke(208,119,21);

  strokeWeight(3);

  ellipse(0,0,55,55);

}

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(#C0EBD7);///地板

 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(126,220,166);///地縫

 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(162,217,117);///先畫方形(砲台)

  stroke(91,152,41);

  strokeWeight(4);

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

  fill(#F98D74);///再畫圓形(主體)

  stroke(208,119,21);

  strokeWeight(3);

  ellipse(0,0,55,55);

}

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(#C0EBD7);///地板

 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(126,220,166);///地縫

 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(162,217,117);///先畫方形(砲台)

  stroke(91,152,41);

  strokeWeight(4);

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

  fill(#F98D74);///再畫圓形(主體)

  stroke(208,119,21);

  strokeWeight(3);

  ellipse(0,0,55,55);

}

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) vy = 0;

}

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

void draw(){

  x += vx;

  y += vy;

 background(#C0EBD7);///地板

 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(126,220,166);///地縫

 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(162,217,117);///先畫方形(砲台)

  stroke(91,152,41);

  strokeWeight(4);

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

  fill(#F98D74);///再畫圓形(主體)

  stroke(208,119,21);

  strokeWeight(3);

  ellipse(0,0,55,55);

}

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) vy = 0;

}

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

void draw(){

  x += vx;

  y += vy;

 background(#C0EBD7);///地板

 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(126,220,166);///地縫

 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];///只有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(162,217,117);///先畫方形(砲台)

  stroke(91,152,41);

  strokeWeight(4);

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

  fill(#F98D74);///再畫圓形(主體)

  stroke(208,119,21);

  strokeWeight(3);

  ellipse(0,0,55,55);

}

9. 

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(#C0EBD7);///地板

 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(126,220,166);///地縫

 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];///只有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;

  }

  println(bulletN);

}

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

  translate(x,y);

  rotate(a);///旋轉

  fill(162,217,117);///先畫方形(砲台)

  stroke(91,152,41);

  strokeWeight(4);

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

  fill(#F98D74);///再畫圓形(主體)

  stroke(208,119,21);

  strokeWeight(3);

  ellipse(0,0,55,55);

}

10. 

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(#C0EBD7);///地板

 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(126,220,166);///地縫

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

   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];///只有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;///10秒

  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;

  }

  println(bulletN);

}

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

  translate(x,y);

  rotate(a);///旋轉

  fill(162,217,117);///先畫方形(砲台)

  stroke(91,152,41);

  strokeWeight(4);

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

  fill(#F98D74);///再畫圓形(主體)

  stroke(208,119,21);

  strokeWeight(3);

  ellipse(0,0,55,55);

}


沒有留言:

張貼留言