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);
}
沒有留言:
張貼留言