作業一: 基礎爆爆王
程式教學
void setup(){
size(850,500);
}
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]; //水球生命值,負數為爆炸後的餘威時間值
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);
} //背景格子
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50); // User
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(waterT[i]<0){
for(int k=-waterS[i];k<=waterS[i];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);
}
waterT[i]++;
} //水球爆炸
}
}
void keyPressed(){
if(keyCode==LEFT) userJ--;
if(keyCode==RIGHT) userJ++;
if(keyCode==UP) userI--;
if(keyCode==DOWN) userI++; //方向鍵控制
if(key==' '){
waterI[waterN]=userI; waterJ[waterN]=userJ;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
} //水球位置
}
size(500,500);
}
void draw(){
background (255);
fill(0,155,0); ellipse(250,250,300,300);
for (int i=0 ;i<9 ;i++){
fill(255); rect(110+i*30, 200, 30,30);
if (110+i*30<mouseX && mouseX<110+i*30+30 &&
200<mouseY && mouseY<200+30){
fill(0); rect (110+i*30, 200, 30,30);
}
}
for(int i=0; i<9;i++){
fill(255); rect(110+i*30, 300, 30,30);
if(110+i*30 <mouseX && mouseX< 110+i*30+30 && 300 <mouseY && mouseY<300+30){
fill(0); rect (110+i*30, 300, 30,30);
}
}
}
void setup(){
size(850,500);
}
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]; //水球生命值,負數為爆炸後的餘威時間值
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);
} //背景格子
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50); // User
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(waterT[i]<0){
for(int k=-waterS[i];k<=waterS[i];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);
}
waterT[i]++;
} //水球爆炸
}
}
void keyPressed(){
if(keyCode==LEFT) userJ--;
if(keyCode==RIGHT) userJ++;
if(keyCode==UP) userI--;
if(keyCode==DOWN) userI++; //方向鍵控制
if(key==' '){
waterI[waterN]=userI; waterJ[waterN]=userJ;
waterS[waterN]=5; waterT[waterN]=120;
waterN++;
} //水球位置
}
紅色為User主角
白色為爆炸煙霧,藍色為水球
作業二: 基礎鱷魚牙齒
程式教學
滑鼠選取牙齒時,牙齒會呈現拔掉狀態(變黑)
void setup(){滑鼠選取牙齒時,牙齒會呈現拔掉狀態(變黑)
size(500,500);
}
void draw(){
background (255);
fill(0,155,0); ellipse(250,250,300,300);
for (int i=0 ;i<9 ;i++){
fill(255); rect(110+i*30, 200, 30,30);
if (110+i*30<mouseX && mouseX<110+i*30+30 &&
200<mouseY && mouseY<200+30){
fill(0); rect (110+i*30, 200, 30,30);
}
}
for(int i=0; i<9;i++){
fill(255); rect(110+i*30, 300, 30,30);
if(110+i*30 <mouseX && mouseX< 110+i*30+30 && 300 <mouseY && mouseY<300+30){
fill(0); rect (110+i*30, 300, 30,30);
}
}
}
沒有留言:
張貼留言