作業一: 作業製作中 _ 爆爆王
程式教學
改成雙人遊戲,人物會被炸掉。
改成雙人遊戲,人物會被炸掉。
void setup(){
size(850,500);
}
int gameover=0;
int userJ=9,userI=5;
float userX,userY;
int waterN=0;
int []waterJ=new int[100];
int []waterI=new int[100];
int []waterS=new int[100];
int []waterT=new int[100];
int user2J=3,user2I=5;
float user2X,user2Y;
void draw(){
background(#80BF47);
noStroke();
for(int i=0;i<10;i++){
for(int j=0;j<17;j++){
if((j-i)%2 ==0) fill(#AFE380);
else fill(#80BF47);
rect(j*50,i*50,50,50);
}
}
for(int i=0 ; i<10 ; i+=3){
for(int j=0 ; j<17 ; j+=4)
{
fill(#AA8215);
rect(j*50,i*50,50,50);
}
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50); // User
fill(0,0,255); ellipse(user2J*50+25,user2I*50+25,50,50); // User2
for(int i=0; i<waterN; i++){
if(waterT[i]>0){
fill(#9EE7F5); ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
waterT[i]--;
if(waterT[i]==0) waterT[i]=-60;
}
if(gameover==1) background(255,0,0);
if(gameover==2) background(0,0,255);
if(waterT[i]<0){
for(int k=-waterS[i]+3;k<=waterS[i]-3;k++){
fill(255); rect((waterJ[i]+k)*50,(waterI[i])*50,50,50);
fill(255); rect((waterJ[i])*50,(waterI[i]+k)*50,50,50);
if(dist(waterJ[i]+k,waterI[i], userJ,userI)==0) gameover=1;
if(dist(waterJ[i],waterI[i]+k, userJ,userI)==0) gameover=1;
if(dist(waterJ[i]+k,waterI[i], user2J,user2I)==0) gameover=2;
if(dist(waterJ[i],waterI[i]+k, user2J,user2I)==0) gameover=2;
}
waterT[i]++;
}
}
}
void keyPressed(){
if(keyCode==LEFT) userJ--;
if(keyCode==RIGHT) userJ++;
if(keyCode==UP) userI--;
if(keyCode==DOWN) userI++;
if(key=='0'){
waterI[waterN]=userI; waterJ[waterN]=userJ;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
if(keyCode=='A') user2J--;
if(keyCode=='D') user2J++;
if(keyCode=='W') user2I--;
if(keyCode=='S') user2I++;
if(key==' '){
waterI[waterN]=user2I; waterJ[waterN]=user2J;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
}
作業二: 作業製作中 _ 爆爆王
程式教學
增設牆壁。
增設牆壁。
void setup(){
size(850,500);
}
int gameover=0;
int userJ=9,userI=5;
float userX,userY;
int waterN=0;
//PImage img;
int []waterJ=new int[100];
int []waterI=new int[100];
int []waterS=new int[100];
int []waterT=new int[100];
int map[][]={{1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0},
{1,2,2,0,2,2,2,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
int user2J=3,user2I=5;
float user2X,user2Y;
void draw(){
background(#80BF47);
noStroke();
for(int i=0;i<10;i++){
for(int j=0;j<17;j++){
if((j-i)%2 ==0) fill(#AFE380);
else fill(#80BF47);
rect(j*50,i*50,50,50);
/*if(map[i][j]==2) img=loadImage("1.jpg");
image(img,0,0,50,50);*/
if(map[i][j]==1) fill(#DE9B1F);
rect(j*50,i*50,50,50);
}
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50); // User
fill(0,0,255); ellipse(user2J*50+25,user2I*50+25,50,50); // User2
for(int i=0; i<waterN; i++){
if(waterT[i]>0){
fill(#9EE7F5); ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
waterT[i]--;
if(waterT[i]==0) waterT[i]=-60;
}
if(gameover==1) background(255,0,0);
if(gameover==2) background(0,0,255);
if(waterT[i]<0){
for(int k=-waterS[i]+3;k<=waterS[i]-3;k++){
fill(255); rect((waterJ[i]+k)*50,(waterI[i])*50,50,50);
fill(255); rect((waterJ[i])*50,(waterI[i]+k)*50,50,50);
if(dist(waterJ[i]+k,waterI[i], userJ,userI)==0) gameover=1;
if(dist(waterJ[i],waterI[i]+k, userJ,userI)==0) gameover=1;
if(dist(waterJ[i]+k,waterI[i], user2J,user2I)==0) gameover=2;
if(dist(waterJ[i],waterI[i]+k, user2J,user2I)==0) gameover=2;
}
waterT[i]++;
}
}
}
void keyPressed(){
if(keyCode==LEFT && map[userI][userJ-1]==0) userJ--;
if(keyCode==RIGHT && map[userI][userJ+1]==0) userJ++;
if(keyCode==UP && map[userI-1][userJ]==0) userI--;
if(keyCode==DOWN && map[userI+1][userJ]==0) userI++;
if(key=='0'){
waterI[waterN]=userI; waterJ[waterN]=userJ;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
if(keyCode=='A' && map[user2I][user2J-1]==0) user2J--;
if(keyCode=='D'&& map[user2I][user2J+1]==0) user2J++;
if(keyCode=='W'&& map[user2I-1][user2J]==0) user2I--;
if(keyCode=='S'&& map[user2I+1][user2J]==0) user2I++;
if(key==' '){
waterI[waterN]=user2I; waterJ[waterN]=user2J;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
}
size(850,500);
img=loadImage("1.jpg");
}
int gameover=0;
int userJ=9,userI=5;
float userX,userY;
int waterN=0;
PImage img;
int []waterJ=new int[100];
int []waterI=new int[100];
int []waterS=new int[100];
int []waterT=new int[100];
int map[][]={{1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0},
{1,2,2,0,2,2,2,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
int user2J=3,user2I=5;
float user2X,user2Y;
void draw(){
background(#80BF47);
noStroke();
for(int i=0;i<10;i++){
for(int j=0;j<17;j++){
if((j-i)%2 ==0) fill(#AFE380);
else fill(#80BF47);
rect(j*50,i*50,50,50);
if(map[i][j]==0){ fill(#DE9B1F); rect(j*50,i*50,50,50);}
else image(img,j*50,i*50,50,50);
}
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50); // User
fill(0,0,255); ellipse(user2J*50+25,user2I*50+25,50,50); // User2
for(int i=0; i<waterN; i++){
if(waterT[i]>0){
fill(#9EE7F5); ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
waterT[i]--;
if(waterT[i]==0) waterT[i]=-60;
}
if(gameover==1) background(255,0,0);
if(gameover==2) background(0,0,255);
if(waterT[i]<0){
for(int k=-waterS[i]+3;k<=waterS[i]-3;k++){
fill(255); rect((waterJ[i]+k)*50,(waterI[i])*50,50,50);
fill(255); rect((waterJ[i])*50,(waterI[i]+k)*50,50,50);
if(dist(waterJ[i]+k,waterI[i], userJ,userI)==0) gameover=1;
if(dist(waterJ[i],waterI[i]+k, userJ,userI)==0) gameover=1;
if(dist(waterJ[i]+k,waterI[i], user2J,user2I)==0) gameover=2;
if(dist(waterJ[i],waterI[i]+k, user2J,user2I)==0) gameover=2;
}
waterT[i]++;
}
}
}
void keyPressed(){
if(keyCode==LEFT && map[userI][userJ-1]==0) userJ--;
if(keyCode==RIGHT && map[userI][userJ+1]==0) userJ++;
if(keyCode==UP && map[userI-1][userJ]==0) userI--;
if(keyCode==DOWN && map[userI+1][userJ]==0) userI++;
if(key=='0'){
waterI[waterN]=userI; waterJ[waterN]=userJ;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
if(keyCode=='A' && map[user2I][user2J-1]==0) user2J--;
if(keyCode=='D'&& map[user2I][user2J+1]==0) user2J++;
if(keyCode=='W'&& map[user2I-1][user2J]==0) user2I--;
if(keyCode=='S'&& map[user2I+1][user2J]==0) user2I++;
if(key==' '){
waterI[waterN]=user2I; waterJ[waterN]=user2J;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
}
size(850,500);
}
int gameover=0;
int userJ=9,userI=5;
float userX,userY;
int waterN=0;
//PImage img;
int []waterJ=new int[100];
int []waterI=new int[100];
int []waterS=new int[100];
int []waterT=new int[100];
int map[][]={{1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0},
{1,2,2,0,2,2,2,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
int user2J=3,user2I=5;
float user2X,user2Y;
void draw(){
background(#80BF47);
noStroke();
for(int i=0;i<10;i++){
for(int j=0;j<17;j++){
if((j-i)%2 ==0) fill(#AFE380);
else fill(#80BF47);
rect(j*50,i*50,50,50);
/*if(map[i][j]==2) img=loadImage("1.jpg");
image(img,0,0,50,50);*/
if(map[i][j]==1) fill(#DE9B1F);
rect(j*50,i*50,50,50);
}
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50); // User
fill(0,0,255); ellipse(user2J*50+25,user2I*50+25,50,50); // User2
for(int i=0; i<waterN; i++){
if(waterT[i]>0){
fill(#9EE7F5); ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
waterT[i]--;
if(waterT[i]==0) waterT[i]=-60;
}
if(gameover==1) background(255,0,0);
if(gameover==2) background(0,0,255);
if(waterT[i]<0){
for(int k=-waterS[i]+3;k<=waterS[i]-3;k++){
fill(255); rect((waterJ[i]+k)*50,(waterI[i])*50,50,50);
fill(255); rect((waterJ[i])*50,(waterI[i]+k)*50,50,50);
if(dist(waterJ[i]+k,waterI[i], userJ,userI)==0) gameover=1;
if(dist(waterJ[i],waterI[i]+k, userJ,userI)==0) gameover=1;
if(dist(waterJ[i]+k,waterI[i], user2J,user2I)==0) gameover=2;
if(dist(waterJ[i],waterI[i]+k, user2J,user2I)==0) gameover=2;
}
waterT[i]++;
}
}
}
void keyPressed(){
if(keyCode==LEFT && map[userI][userJ-1]==0) userJ--;
if(keyCode==RIGHT && map[userI][userJ+1]==0) userJ++;
if(keyCode==UP && map[userI-1][userJ]==0) userI--;
if(keyCode==DOWN && map[userI+1][userJ]==0) userI++;
if(key=='0'){
waterI[waterN]=userI; waterJ[waterN]=userJ;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
if(keyCode=='A' && map[user2I][user2J-1]==0) user2J--;
if(keyCode=='D'&& map[user2I][user2J+1]==0) user2J++;
if(keyCode=='W'&& map[user2I-1][user2J]==0) user2I--;
if(keyCode=='S'&& map[user2I+1][user2J]==0) user2I++;
if(key==' '){
waterI[waterN]=user2I; waterJ[waterN]=user2J;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
}
作業三: 作業製作中 _ 爆爆王
程式教學
牆壁用貼圖方式,未完成。
void setup(){牆壁用貼圖方式,未完成。
size(850,500);
img=loadImage("1.jpg");
}
int gameover=0;
int userJ=9,userI=5;
float userX,userY;
int waterN=0;
PImage img;
int []waterJ=new int[100];
int []waterI=new int[100];
int []waterS=new int[100];
int []waterT=new int[100];
int map[][]={{1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0},
{1,2,2,0,2,2,2,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};
int user2J=3,user2I=5;
float user2X,user2Y;
void draw(){
background(#80BF47);
noStroke();
for(int i=0;i<10;i++){
for(int j=0;j<17;j++){
if((j-i)%2 ==0) fill(#AFE380);
else fill(#80BF47);
rect(j*50,i*50,50,50);
if(map[i][j]==0){ fill(#DE9B1F); rect(j*50,i*50,50,50);}
else image(img,j*50,i*50,50,50);
}
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50); // User
fill(0,0,255); ellipse(user2J*50+25,user2I*50+25,50,50); // User2
for(int i=0; i<waterN; i++){
if(waterT[i]>0){
fill(#9EE7F5); ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
waterT[i]--;
if(waterT[i]==0) waterT[i]=-60;
}
if(gameover==1) background(255,0,0);
if(gameover==2) background(0,0,255);
if(waterT[i]<0){
for(int k=-waterS[i]+3;k<=waterS[i]-3;k++){
fill(255); rect((waterJ[i]+k)*50,(waterI[i])*50,50,50);
fill(255); rect((waterJ[i])*50,(waterI[i]+k)*50,50,50);
if(dist(waterJ[i]+k,waterI[i], userJ,userI)==0) gameover=1;
if(dist(waterJ[i],waterI[i]+k, userJ,userI)==0) gameover=1;
if(dist(waterJ[i]+k,waterI[i], user2J,user2I)==0) gameover=2;
if(dist(waterJ[i],waterI[i]+k, user2J,user2I)==0) gameover=2;
}
waterT[i]++;
}
}
}
void keyPressed(){
if(keyCode==LEFT && map[userI][userJ-1]==0) userJ--;
if(keyCode==RIGHT && map[userI][userJ+1]==0) userJ++;
if(keyCode==UP && map[userI-1][userJ]==0) userI--;
if(keyCode==DOWN && map[userI+1][userJ]==0) userI++;
if(key=='0'){
waterI[waterN]=userI; waterJ[waterN]=userJ;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
if(keyCode=='A' && map[user2I][user2J-1]==0) user2J--;
if(keyCode=='D'&& map[user2I][user2J+1]==0) user2J++;
if(keyCode=='W'&& map[user2I-1][user2J]==0) user2I--;
if(keyCode=='S'&& map[user2I+1][user2J]==0) user2I++;
if(key==' '){
waterI[waterN]=user2I; waterJ[waterN]=user2J;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
}
}
沒有留言:
張貼留言