期末作業開工啦4
💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙
😅繼續補齊Blog,剩這個禮拜了!
👸那天姨媽來,所以在家裡線上,但痛到無法動作阿阿
💚(這一個禮拜明園有夜市,買了拔絲地瓜,比之前貴了$10阿阿,但我還是照買)
-------------------------------------------------------------------------------------------------------------------------
1.這次加了成績,並有第一名及第二名。
2.各畫面的部分也快做完了!!預計下禮拜就能放進去。
💩!準備開始囉!💩
-------------------------------------------------------------------------------------------------------------------------
☛首先老師先選出三個核心主題為我們解說(上上禮拜)
//探討主題:
//(1)蟑螂會從哪裡出現,如何對應移動速度與方向?
//(2)藍白拖怎麼打死蟑螂?
//(3)如何使用三角函數使蟑螂有亂跑的效果? sinx ,cosx,tanx;
-------------------------------------------------------------------------------------------------------------------------
☛全部程式碼如下:
float x,y,vx,vy,x2,y2,vx2,vy2;
int count=600;///計時器的總共時間
int score=0;
int save[]={0,1,2,3};
PFont myFont;///讀入字體
PImage img1,img2,img3,img4,img5;//讀入圖檔
void setup(){
size(500,500);
img1=loadImage("start1.png");//讀入圖片
img2=loadImage("restart1.png");
img3=loadImage("bg.png");//背景圖片
img4=loadImage("Cockroach.png");
img5=loadImage("restart.png");//返回鍵
generateCockroach();//一般的蟑螂
generateCockroach2();//特別的蟑螂
fill(255,0,0);
textSize(80);
myFont = createFont("微軟正黑體",30);///中文輸入法程式碼
}
int condition;//情況
void mousePressed() {///場景切換
if(condition==0){
if (mouseButton == LEFT&&dist(150,150, mouseX-120, mouseY-75)<50){ // 切換到開始遊戲介面
condition=1;
}
}
if(condition==2){
if (mouseButton == LEFT&&dist(175,175, mouseX-70, mouseY-70)<50) { // 切換到開始遊戲介面
condition=0;
}
}
if(condition==1){
if(mouseButton==LEFT&& dist(400,400,mouseX-100,mouseY-100)<50){
condition=0;//返回鍵
score=0;
count=600;
}
}
}
void draw(){
if(condition==0){
background(255,192,103);
image(img1,75,75,350,350);
if (mouseButton == LEFT&&dist(200,200, mouseX, mouseY)<60){ // 切換到開始遊戲介面
condition=1;
}
}
if(condition==1){//condition=1且時間>0=遊戲介面
image(img3,0,0,500,500);
image(img4,x,y,300,300);//蟑螂的大小
image(img5,450,450,50,50);//返回鍵
x+=vx; y+=vy;//若超過左邊界、右邊界,則會隨機產生一般蟑螂。
x2+=vx2; y2+=vy2;//若超過左邊界、右邊界,則會隨機產生特別蟑螂。
if(frameCount%10==0){//每一秒,改一次角度
float angle = atan2(vy,vx);
//float angle2=(angle+radians(90));//時間到就轉90度。
float angle2=(angle+radians(random(-30,30)));//時間到就轉30度。
vx =cos(angle2);//一般蟑螂
vy =sin(angle2);//一般蟑螂
vx2=sin(angle2);//特別蟑螂
vy2=cos(angle2);//特別蟑螂
}
if(x<0 || y<0||x>500||y>500)generateCockroach();//不管邊界x,y<0或x,y>500,都會產生新的蟑螂。
noFill(); ellipse(mouseX,mouseY,50,50);//產生藍白拖。
if(mousePressed && dist(mouseX-150,mouseY-150,x,y)<40){
generateCockroach();//死後產生新的蟑螂。
score+=10;///分數加10分
}//一般蟑螂
if(frameCount>180&&frameCount<360){
fill(0);rect(x2,y2,20,20);//特別的蟑螂
if(x2<0 || y2<0||x2>500||y2>500)generateCockroach2();//不管邊界x,y<0或x,y>500,都會產生新的蟑螂。
if(mousePressed && dist(mouseX,mouseY,x2,y2)<40){
generateCockroach2();//死後產生新的特別蟑螂。
score+=100;//分數加100分
}
}//特別蟑螂
textFont(myFont);
text("分數:"+score,350,45);
fill(255,255,255);
textSize(36);
text("Time:" +int(count/60)+"秒",50,45); ///計時器。
count--;
if(count<=0){
condition=2;//結束介面
count+=600;
score=0;
}
}
if(condition==2){//結束畫面
background(186,85,211);
image(img2,10,5,500,500);
textFont(myFont,80);
text("遊戲結束",80,160);
}
}
void generateCockroach(){//一般的蟑螂
int edge=int (random(4));//4個邊
if(edge==0){
x=300;y=random(300);vx=-random(1,3);vy=random(-3,+3);
}else if(edge==1){
x=random(300);y=300;vx=-random(-3,3);vy=random(1,3);
}else if(edge==2){
x=0;y=random(300);vx=random(1,3);vy=random(-3,+3);
}else if(edge==3){
x=random(300);y=0;vx=random(-3,3);vy=random(1,3);
}
}
void generateCockroach2(){///特別的蟑螂
int edge2=int (random(4));//4個邊
if(edge2==0){
x2=300;y2=random(300);vx=-random(1,3);vy=random(-3,+3);
}else if(edge2==1){
x2=random(300);y2=300;vx=-random(-3,3);vy=random(1,3);
}else if(edge2==2){
x2=0;y2=random(300);vx=random(1,3);vy=random(-3,+3);
}else if(edge2==3){
x2=random(300);y2=0;vx=random(-3,3);vy=random(1,3);
}
}
-------------------------------------------------------------------------------------------------------------------------
此為執行畫面:
有開始的按鈕,可切換至遊戲畫面。
這次多加了排行榜的按鈕(方方塊),點了可跳至排行畫面。
此為遊戲畫面
已有秒數及分數,並加了一隻蟑螂進去試試。
右下角也加了返回鈕,可跳至開始畫面。
而背景先至網路上找圖,之後會在自己重畫。
此為結束畫面
可按返回建,跳至一開始畫面,之後也會畫畫面進去。
此為這次新增的排行畫面,有三個分數為前三名,當分數較高者會覆蓋叫低者
---------------------------------------------------------------------------------------------------------------------------
以上為現在的進度,畫面又更多元了!
(下一次會放入畫面!!)
沒有留言:
張貼留言