WEEK 07
目標:做出血條,倒數計時以及開場畫面、切換關卡、死亡
一.
1.先將血量條設成滿的
2.當滑鼠點一下血量就會少一格
3.當血量為0後 跑出gameover
int life=10;
boolean gameOver = false ;
void setup(){
size(500,500);
}
void draw(){
background(0,0,225);
fill(255); rect(50,50,100,20);
fill(255,0,0); rect(50,50,life*10,20);
if(gameOver){
textSize(40);
text("Game Over!",150,150);
}
}
void mousePressed(){
life--;
if(life<=0) gameOver = true;
}
二.
1.做出開始、遊戲中以及結束的畫面
2.案鍵盤1的話 會跑進遊戲中的畫面2
3.畫面2會先設定倒數計時器 等到時間為0自動跳到畫面3
int state=0;
int remainTime=0;
void setup(){
size(800,600);
}
void draw(){
if(state==0){
drawOP();
if(key=='1') {state=1; remainTime=60*60;}
}else if(state==1){
drawPlayer();
}else if(state==2){
drawED();
}
}
void drawED(){
background(0);
fill(255,0,0); text("Game Over",100,100);
}
void drawPlayer(){
background(#F59300);
fill(#161FF2); text("Playing... you can press 2 to End",10,100);
text("remain:" +remainTime,10,200);
remainTime--;
if(remainTime<=0) state=2;
}
void drawOP(){
background(0);
fill(255,255,0);
textSize(30); text("Opening...You can press 1 to play",10,100);
}
以下為今天期末作品的進度

float pikalX=100 , pikalY=350, pikalVX=0,pikalVY=0;
boolean flying=false;
void setup(){
size(600,400);
}
void draw(){
background(#8DBBFA);
fill(255,255,0); ellipse(pikalX,pikalY,60,90);
pikalX+=pikalVX;
if(flying){
pikalY+=pikalVY; pikalVY+=0.98;
if(pikalY>=350) { flying=false; pikalY=350;}
}
}
void keyPressed(){
if(keyCode==LEFT) pikalVX=-4;
if(keyCode==RIGHT) pikalVX=+4;
if(keyCode==UP && flying == false ) {flying=true; pikalVY=-20;}
}
void keyReleased(){
if(keyCode==LEFT) pikalVX=0;
if(keyCode==RIGHT) pikalVX=0;
}
int remainTime=0;
void setup(){
size(800,600);
}
void draw(){
if(state==0){
drawOP();
if(key=='1') {state=1; remainTime=60*60;}
}else if(state==1){
drawPlayer();
}else if(state==2){
drawED();
}
}
void drawED(){
background(0);
fill(255,0,0); text("Game Over",100,100);
}
void drawPlayer(){
background(#F59300);
fill(#161FF2); text("Playing... you can press 2 to End",10,100);
text("remain:" +remainTime,10,200);
remainTime--;
if(remainTime<=0) state=2;
}
void drawOP(){
background(0);
fill(255,255,0);
textSize(30); text("Opening...You can press 1 to play",10,100);
}
以下為今天期末作品的進度
float pikalX=100 , pikalY=350, pikalVX=0,pikalVY=0;
boolean flying=false;
void setup(){
size(600,400);
}
void draw(){
background(#8DBBFA);
fill(255,255,0); ellipse(pikalX,pikalY,60,90);
pikalX+=pikalVX;
if(flying){
pikalY+=pikalVY; pikalVY+=0.98;
if(pikalY>=350) { flying=false; pikalY=350;}
}
}
void keyPressed(){
if(keyCode==LEFT) pikalVX=-4;
if(keyCode==RIGHT) pikalVX=+4;
if(keyCode==UP && flying == false ) {flying=true; pikalVY=-20;}
}
void keyReleased(){
if(keyCode==LEFT) pikalVX=0;
if(keyCode==RIGHT) pikalVX=0;
}
沒有留言:
張貼留言