一、爆爆王
1.畫出背景
void setup(){size(850,500);
}
void draw(){
background(#92AD28);
noStroke();
for(int x=0;x<17;x++){
for(int y=0;y<10;y++){
if((x-y)%2 ==0) fill(#7E9819);
else fill(#92AD28);
rect(x*50,y*50,50,50);
}
}
}
2.讓玩家可以動(鍵盤)
void setup(){size(850,500);
}
int userJ=9,userI=5;
float userX,userY;
void draw(){
background(#92AD28);
noStroke();
for(int x=0;x<17;x++){
for(int y=0;y<10;y++){
if((x-y)%2 ==0) fill(#7E9819);
else fill(#92AD28);
rect(x*50,y*50,50,50);
}
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50);
}
void keyPressed(){ //鍵盤控制 if(keyCode==LEFT) userJ--;
if(keyCode==RIGHT) userJ++;
if(keyCode==UP) userI--;
if(keyCode==DOWN) userI++;
}
3.放水球
size(850,500);
}
int userJ=9,userI=5;
float userX,userY;
int waterN=0;
int []waterJ=new int[100];
int []waterI=new int[100];
void draw(){
background(#92AD28);
noStroke();
for(int x=0;x<17;x++){
for(int y=0;y<10;y++){
if((x-y)%2 ==0) fill(#7E9819);
else fill(#92AD28);
rect(x*50,y*50,50,50);
}
}
fill(255,0,0); ellipse(userJ*50+25,userI*50+25,50,50);
for(int i=0;i<waterN;i++){
fill(#93E1F7); ellipse(waterJ[i]*50+25,waterI[i]*50+25,30,30);
}
}
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; waterN++;}
}
二、鱷魚咬咬
1.畫出鱷魚嘴巴
int bad=0;
void setup(){
size(500,500);
bad= int(random(18));
println(bad);
}
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);
}
if(bad==i){fill(255,0,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 <10+i*30+30 &&
300 < mouseY && mouseY <300+30){
fill(0); rect(110+i*30,300,30,30);
}
if(bad==i+9){fill(255,0,0); rect(110+i*30,300,30,30);}
}
}
void setup(){
size(500,500);
bad= int(random(18));
println(bad);
}
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);
}
if(bad==i){fill(255,0,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 <10+i*30+30 &&
300 < mouseY && mouseY <300+30){
fill(0); rect(110+i*30,300,30,30);
}
if(bad==i+9){fill(255,0,0); rect(110+i*30,300,30,30);}
}
}
2.被咬到後掛掉
int bad=0;
int [] all=new int[18]; //{0,-1,0,0,0,0,0,0,1,0,0,...}
void setup(){
size(500,500);
bad= int(random(18)); all[bad]=1;
println(bad);
}
boolean bGameOver=false;
void draw(){
if(bGameOver){
background(255,0,0);
return;
}
background(255);
fill(0,155,0); ellipse(250,250,300,300);
for(int i=0;i<9;i++){
if(all[i]==-1) continue;
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);
if(mousePressed && all[i]!=1) all[i]=-1;
if(mousePressed && all[i]==1) bGameOver=true;
}
//if(bad==i){fill(255,0,0); rect(110+i*30,200,30,30);}
}
for(int i=0;i<9;i++){
if(all[i+9]==-1) continue;
fill(255); rect(110+i*30,300,30,30);
if(110+i*30 <mouseX && mouseX <10+i*30+30 &&
300 < mouseY && mouseY <300+30){
fill(0); rect(110+i*30,300,30,30);
if(mousePressed && all[i+9]!=1) all[i+9]=-1;
if(mousePressed && all[i+9]==1) bGameOver=true;
}
//if(bad==i+9){fill(255,0,0); rect(110+i*30,300,30,30);}
}
}
int [] all=new int[18]; //{0,-1,0,0,0,0,0,0,1,0,0,...}
void setup(){
size(500,500);
bad= int(random(18)); all[bad]=1;
println(bad);
}
boolean bGameOver=false;
void draw(){
if(bGameOver){
background(255,0,0);
return;
}
background(255);
fill(0,155,0); ellipse(250,250,300,300);
for(int i=0;i<9;i++){
if(all[i]==-1) continue;
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);
if(mousePressed && all[i]!=1) all[i]=-1;
if(mousePressed && all[i]==1) bGameOver=true;
}
//if(bad==i){fill(255,0,0); rect(110+i*30,200,30,30);}
}
for(int i=0;i<9;i++){
if(all[i+9]==-1) continue;
fill(255); rect(110+i*30,300,30,30);
if(110+i*30 <mouseX && mouseX <10+i*30+30 &&
300 < mouseY && mouseY <300+30){
fill(0); rect(110+i*30,300,30,30);
if(mousePressed && all[i+9]!=1) all[i+9]=-1;
if(mousePressed && all[i+9]==1) bGameOver=true;
}
//if(bad==i+9){fill(255,0,0); rect(110+i*30,300,30,30);}
}
}
三、貪食蛇
1.製作出貪食蛇,並且讓他的頭能跟著滑鼠方向轉動
void setup(){
size(600,400);}
float userX=300,userY=200;
void draw(){
background(#44B220);
stroke(#356C23); noFill();
for(int i=0;i<16;i++){
for(int j=0;j<24;j++){
rect(j*25,i*25,25,25);
}
}
stroke(0); fill(#FC9E38);
float angle=atan2(mouseY-userY,mouseX-userX);
triangle( userX+40*cos(angle), userY+40*sin(angle),
userX+15*cos(angle+PI/2),userY+15*sin(angle+PI/2),
userX+15*cos(angle-PI/2),userY+15*sin(angle-PI/2));
ellipse(userX,userY,30,30);
}
2.讓貪食蛇能動(鍵盤)
void setup(){
size(600,400);}
float userX=300,userY=200;
float mapX=0,mapY=0;
void draw(){
background(#44B220);
stroke(#356C23); noFill();
for(int i=0;i<16;i++){
for(int j=0;j<24;j++){
rect(mapX+j*25,mapY+i*25,25,25);
}
}
stroke(0); fill(#FC9E38);
float angle=atan2(mouseY-userY,mouseX-userX);
triangle( userX+40*cos(angle), userY+40*sin(angle),
userX+15*cos(angle+PI/2),userY+15*sin(angle+PI/2),
userX+15*cos(angle-PI/2),userY+15*sin(angle-PI/2));
ellipse(userX,userY,30,30);
mapX-=dirX; //userX+=dirX;
mapY-=dirY; //userY+=dirY;
}
int dirX=0, dirY=0;
void keyPressed(){
if(key=='a' || key=='A') dirX=-1;
if(key=='s' || key=='S') dirY=1;
if(key=='d' || key=='D') dirX=1;
if(key=='w' || key=='W') dirY=-1;
}
void keyReleased(){
if(key=='a' || key=='A') dirX=0;
if(key=='s' || key=='S') dirY=0;
if(key=='d' || key=='D') dirX=0;
if(key=='w' || key=='W') dirY=0;
}
四、小精靈
1.畫出小精靈(嘴巴大小可用滑鼠拉動調整)
void setup(){
size(600,400);
}
float open=1;
void draw(){
background(0);
fill(255,255,0);
arc(300,200,100,100,0+open,PI*2-open);
}
void mouseDragged(){
open=(mouseX/600.0);
}
size(600,400);
}
float open=1;
void draw(){
background(0);
fill(255,255,0);
arc(300,200,100,100,0+open,PI*2-open);
}
void mouseDragged(){
open=(mouseX/600.0);
}
2.小精靈嘴巴會自動開合
void setup(){
size(600,400);
}
float open=1;
int now=0;
void draw(){
background(0);
fill(255,255,0);
arc(300,200,100,100,0+open,PI*2-open);
now++;
open=abs((now%60)/60.0-0.5);
}
size(600,400);
}
float open=1;
int now=0;
void draw(){
background(0);
fill(255,255,0);
arc(300,200,100,100,0+open,PI*2-open);
now++;
open=abs((now%60)/60.0-0.5);
}
沒有留言:
張貼留言