嗨
🔹我們在這裡新增了開始的頁面和在玩完遊戲的時候可以返回開始頁面並繼續遊戲再玩一次!!
✔首先是起始頁面
condition==0的時候,是第一個起始頁面,匯入起始背景跟"start"按鈕
按下按鈕後,切換到遊戲進行場景
✔接著是遊戲結束返回遊戲起始頁面的按鈕
在遊戲結束時,出現"exit"的return按鈕,可以返回遊戲起始頁面
在這個頁面可以得知總分是多少!!
🔸接著就是最後的程式碼了!!!很開心終於完成了!!!PImage img,hammericon1,hammericon2,mouse1,mouse2,mainhole,button1,start,end,returnbutton;
int music;//音樂
int condition;//情況
import ddf.minim.*;//音樂
Minim minim;//
AudioPlayer player;//音樂
int time,score;//時間和分數
int[][]gopher=//地鼠的陣列
{
{0,0,0},
{0,0,0},
{0,0,0}
};
void generateGopher()//地鼠
{
int now = int(random(9));//0~8個地鼠
gopher[now/3][now%3]=30+int(random(300));//出現秒數
}
void setup()
{
minim = new Minim(this);
player=minim.loadFile("BGM.mp3");//背景音樂
size(718,664);
time = 25;//倒數幾秒
score = 0;//分數
start= loadImage("start.png");//開始頁面
button1= loadImage("button1.png");//開始按鈕
img = loadImage("background.png");//遊戲背景
hammericon1=loadImage("hammericon1.png");//槌子
hammericon2=loadImage("hammericon2.png");//槌子2
mouse1 = loadImage("mouse01.png");//地鼠笑
mouse2 = loadImage("mouse02.png");//地鼠哭
mainhole = loadImage("mainhole.png");//洞穴
end = loadImage("end.png");//結束頁面
returnbutton = loadImage("return.png");//返回按鍵
generateGopher();//地鼠
}
void draw()
{
if (condition==0) { // 遊戲初始介面
imageMode(CORNER);// 對齊角落(才不會跑位)
image(start, 0, -40,721,717);
image(button1, 210,400 ,300,300);
}
if (condition==1)//遊戲運作
{
background(255);
image(img,360,340);
imageMode(CENTER);
score();//分數
time();//時間
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
{
if(gopher[i][j]>0)//有地鼠
{
image(mouse1,150+j*200,260+i*150,110,100); //笑臉地鼠
gopher[i][j]--;
if(gopher[i][j]==0)generateGopher(); //=0產生新地鼠
}
else if(gopher[i][j]<0)//哭哭地鼠
{
image(mouse2,150+j*200,260+i*150,110,100);
gopher[i][j]++; //地鼠frame++
}
else //洞穴
{
image(mainhole,150+j*200,260+i*150,110,100);
}
}
}
if(mousePressed)//槌子
{
image(hammericon2,mouseX,mouseY,-200,-200);
}
else
{
image(hammericon1,mouseX,mouseY,-200,-200);
}
}
if (condition==2)//遊戲結束
{
image(end,359,332);
fill(255);
textSize(100);
text(score,300,500);
image(returnbutton,640,630,200,200);
}
}
void mousePressed()
{
if(condition==0){
if(mouseButton == LEFT&&dist(359, 580, mouseX, mouseY)<60) { // 切換到開始遊戲介面
condition=1;
player.play();//播放音樂
}
}
if(condition==2){//結束畫面
if (mouseButton == LEFT&&dist(640,630, mouseX, mouseY)<50){// 切換到開始遊戲介面
condition=0;
time=25;
score=0;
}
}
player=minim.loadFile("HIT.mp3");//音樂
player.play();//音樂
int i=mouseY/222,j=mouseX/240;
if(gopher[i][j]>0)//打到加分
{
gopher[i][j]=-60; //地鼠=-60frame
score++;
}
if(gopher[i][j]<0 )
{
generateGopher(); //產生新地鼠
}
}
void score()//分數
{
fill(0);
textSize(35);
text("Score:"+score,5,80);
}
void time()//倒數時間
{
fill(0);
textSize(35);
text("Time:"+time,530,80);
if(time>0&&frameCount%60==0)
{
text("Time:"+time,530,80);
time=time-1;
}
else if(time==0)//時間停止
{
condition=2;
redraw();
}
}
🔹這是我們的影片連結https://www.youtube.com/watch?v=4Q5IUtOG3I8


沒有留言:
張貼留言