期末作業結束啦6
💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙💚💛💜💓💙
😎做完打蟑螂了!!耶依依
🙆拜託這次依然都讓我ALL PASS吧!!
💚肺炎又開始燃燒了...希望快快消滅阿
-------------------------------------------------------------------------------------------------------------------------
1.我們歷經千辛萬苦,終於把這個小遊戲給做出來了!!
2.灑花兒~~🌼🌼🌼🌼🌼
3.這次修了許多細節,如文字置中、為什麼時間第二次變少、觸碰的感應程度等等。
| -這次不用醜醜蟑螂了,來個我們的封面 |
💩!開始解說我們的辛苦結晶!💩
-------------------------------------------------------------------------------------------------------------------------
☛全部程式碼如下:
float x,y,x0,y0,x1,y1,x2,y2,x3,y3,x4,y4,vx,vy,vx0,vy0,vx1,vy1,vx2,vy2,vx3,vy3,vx4,vy4;
int score=0,a,b,c,count=1200;
int condition;//情況R
int music;
PFont myFont;
PImage img0,img1,img2,img3,img4,img14,img5,img6,img7,img8,img9,img10,img11,img12,img13;
import ddf.minim.*;
Minim minim;
AudioPlayer player,player2;
void setup(){
minim = new Minim(this);
player=minim.loadFile("BGM.mp3");
player2=minim.loadFile("hit.mp3");
size(800,600);
img0=loadImage("封面.png");
img1=loadImage("start.png");//讀入圖片
img2=loadImage("RANKING.png");
img3=loadImage("內容.png");//背景圖片
img4=loadImage("Cockroach.png");//小蟑螂
img12=loadImage("Cockroach-2.png");//中蟑螂
img14=loadImage("Cockroach-3.png");//大蟑螂
img5=loadImage("restart.png");//返回鍵
img6=loadImage("分數版.png");
img7=loadImage("拖鞋.png");
img8=loadImage("結束.png");
img9=loadImage("return.png");
img10=loadImage("Cockroach1.png");
img11=loadImage("Cockroach1-2.png");
img13=loadImage("cursor.png");
generateCockroach();//小蟑螂
generateCockroach0();//小蟑螂
generateCockroach1();//中蟑螂
generateCockroach2();//中蟑螂
generateCockroach3();//中蟑螂
generateCockroach4();//大蟑螂
fill(255,0,0);
textSize(80);
myFont = createFont("微軟正黑體",30);///中文輸入法程式碼
}
void mousePressed() {///場景切換
if(condition==0){//主畫面
frameCount=0;
if (mouseButton == LEFT&&dist(470,470, mouseX, mouseY)<65){ // 切換到開始遊戲介面
condition=1;
}
if(mouseButton == LEFT&&dist(600,450, mouseX, mouseY)<50){
condition=3;
}
}
if(condition==1){//遊戲畫面
player.play();
if(mouseButton==LEFT){
player2.play();
player2.rewind();
}
if(mouseButton==LEFT&& dist(650,450,mouseX-100,mouseY-100)<50){
condition=0;//返回鍵
score=0;
count=1200;
}
}
if(condition==2){//結束畫面
if (mouseButton == LEFT&&dist(700,550, mouseX, mouseY)<50){// 切換到開始遊戲介面
condition=0;
}
}
if(condition==3){//計分畫面
if(mouseButton==LEFT&& dist(700,520,mouseX,mouseY)<50) { // 切換到開始遊戲介面
condition=0;
}
}
}
void draw(){
noCursor();
if(condition==0){
image(img0,0,0,800,600);
image(img1,400,410,100,100);
image(img2,560,410,100,100);
image(img7,mouseX-30,mouseY-30,50,80);
player.pause();
player.rewind();
}
if(condition==1){//condition=1且時間>0=遊戲介面
image(img3,0,0,800,600);//背景圖片
image(img4,x,y,80,80);//小蟑螂圖片
image(img10,x1,y1,80,80);//小蟑螂圖片
image(img11,x0,y0,80,80);//小蟑螂圖片
image(img5,705,505,88,88);//重製鍵圖片
x+=vx;y+=vy;//若超過左邊界、右邊界,則會隨機產生一般蟑螂。
x0+=vx0;y0+=vy0;
x1+=vx1;y1+=vy1;
x2+=vx2;y2+=vy2;
x3+=vx3;y3+=vy3;
x4+=vx4;y4+=vy4;
if(frameCount%20==0){//每一秒,改一次角度
float angle = atan2(vy,vx);float angle2=(angle+radians(random(-20,20)));//時間到就轉30度。
float angle0 = atan2(vy0,vx0);float angle3=(angle0+radians(random(-90,60)));//時間到就轉30度。
float angle1 = atan2(vy3,vx3);float angle4=(angle1+radians(random(-120,60)));//特別蟑螂
float angle5 = atan2(vy4,vx4);float angle6=(angle5+radians(random(-270,120)));//特別蟑螂
vx =cos(angle2);vy =sin(angle2);//小蟑螂
vx0=cos(angle3);vy0=sin(angle3);//小蟑螂
vx1=cos(angle2);vy1=sin(angle2);//小蟑螂
vx2=sin(angle2);vy2=cos(angle2);//中蟑螂
vx3=sin(angle4);vy3=cos(angle4);//中蟑螂
vx4=sin(angle5);vy4=cos(angle5);//大蟑螂
}
if(x<0 || y<0||x>600||y>400)generateCockroach();//不管邊界x,y<0或x,y>500,都會產生新的蟑螂。
if(mousePressed && dist(mouseX-40,mouseY-40,x,y)<60){
generateCockroach();//死後產生新的蟑螂。
score+=10;
}//小蟑螂
if(x0<0 || y0<0||x0>600||y0>400)generateCockroach0();//不管邊界x,y<0或x,y>500,都會產生新的蟑螂。
if(mousePressed && dist(mouseX-40,mouseY-40,x0,y0)<60){
generateCockroach0();//死後產生新的蟑螂。
score+=10;
}//小蟑螂
if(x1<0 || y1<0||x1>600||y1>400)generateCockroach1();//不管邊界x,y<0或x,y>500,都會產生新的蟑螂。
if(mousePressed && dist(mouseX-40,mouseY-40,x1,y1)<60){
generateCockroach1();//死後產生新的蟑螂。
score+=10;
}//小蟑螂
if(frameCount>180&&frameCount<600){
image(img12,x2,y2,120,120);//中蟑螂圖片
if(x2<0 || y2<0||x2>680||y2>500)generateCockroach2();//不管邊界x,y<0或x,y>500,都會產生新的蟑螂。
if(mousePressed && dist(mouseX-50,mouseY-50,x2,y2)<60){
generateCockroach2();
score+=20;
}
}//中蟑螂
if(frameCount>180&&frameCount<720||frameCount>900&&frameCount<1080){
image(img12,x3,y3,120,120);//中蟑螂圖片
if(x3<0 || y3<0||x3>680||y3>500)generateCockroach3();//不管邊界x,y<0或x,y>500,都會產生新的蟑螂。
if(mousePressed && dist(mouseX-50,mouseY-50,x3,y3)<60){
generateCockroach3();
score+=20;
}
}//大蟑螂
if(frameCount>600&&frameCount<1020){//第10秒出現,第3秒消失
image(img14,x4,y4,200,200);//大蟑螂圖片
if(x4<0 || y4<0||x4>700||y4>500)generateCockroach4();//不管邊界x,y<0或x,y>500,都會產生新的蟑螂。
if(mousePressed && dist(mouseX-130,mouseY-130,x4,y4)<130){
generateCockroach4();
score+=50;
}
}//大蟑螂
image(img7,mouseX-30,mouseY-30,50,80);//產生藍白拖。
textFont(myFont);
textAlign(CENTER);text("Score:"+score,480,45);
fill(255,255,255);
textSize(32);
text("Time:" +int(count/60)+"秒",300,45); ///計時器。
count--;
if(count<=0){
condition=2;//結束介面
count+=1200;
c=score;
if(score>a){
b=a;
a=score;
}
if(score<a&&score>b){
b=score;
}
score=0;
}
}
if(condition==2){//結束畫面
background(186,85,211);
image(img2,10,5,500,500);
image(img8,0,0,800,600);
textFont(myFont,80);
textAlign(CENTER);text(+c,390,260);
player.pause();//音樂停止
player.rewind();//從頭播放
image(img7,mouseX-30,mouseY-30,50,80);
}
if(condition==3){
image(img6,0,0,800,600);//分數版
image(img9,650,500,100,100);//返回建
image(img7,mouseX-30,mouseY-30,50,80);
textFont(myFont,44);
fill(255,255,255);
textAlign(CENTER);text(+a,415,260);
textFont(myFont,44);
textAlign(CENTER);text(+b,415,450);
}
}
void generateCockroach(){//一般的蟑螂
int edge=int (random(4));//4個邊
if(edge==0){
x=600;y=random(300);vx=-random(1,3);vy=random(-3,+3);
}else if(edge==1){
x=random(300);y=400;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 generateCockroach0(){//一般的蟑螂
int edge0=int (random(4));//4個邊
if(edge0==0){
x0=600;y0=random(300);vx0=-random(1,3);vy0=random(-3,+3);
}else if(edge0==1){
x0=random(300);y0=400;vx0=-random(-3,3);vy0=random(1,3);
}else if(edge0==2){
x=0;y=random(300);vx0=random(1,3);vy0=random(-3,+3);
}else if(edge0==3){
x0=random(300);y=0;vx0=random(-3,3);vy0=random(1,3);
}
}
void generateCockroach1(){//一般的蟑螂
int edge1=int (random(4));//4個邊
if(edge1==0){
x1=300;y1=random(300);vx1=-random(1,3);vy1=random(-3,+3);
}else if(edge1==1){
x1=random(300);y1=300;vx1=-random(-3,3);vy1=random(1,3);
}else if(edge1==2){
x1=0;y1=random(300);vx1=random(1,3);vy1=random(-3,+3);
}else if(edge1==3){
x1=random(300);y1=0;vx1=random(-3,3);vy1=random(1,3);
}
}
void generateCockroach2(){///特別的蟑螂
int edge2=int (random(4));//4個邊
if(edge2==0){
x2=600;y2=random(300);vx2=-random(1,3);vy2=random(-3,+3);
}else if(edge2==1){
x2=random(300);y2=400;vx2=-random(-3,3);vy2=random(1,3);
}else if(edge2==2){
x2=0;y2=random(300);vx2=random(1,3);vy2=random(-3,+3);
}else if(edge2==3){
x2=random(300);y2=0;vx2=random(-3,3);vy2=random(1,3);
}
}
void generateCockroach3(){
int edge3=int (random(4));//4個邊
if(edge3==0){
x3=600;y3=random(300);vx3=-random(1,3);vy3=random(-3,+3);
}else if(edge3==1){
x3=random(300);y3=400;vx3=-random(-3,3);vy3=random(1,3);
}else if(edge3==2){
x3=0;y3=random(300);vx3=random(1,3);vy3=random(-3,+3);
}else if(edge3==3){
x3=random(300);y3=0;vx3=random(-3,3);vy3=random(1,3);
}
}
void generateCockroach4(){
int edge4=int (random(4));//4個邊
if(edge4==0){
x4=600;y4=random(300);vx4=-random(1,3);vy4=random(-3,+3);
}else if(edge4==1){
x4=random(300);y4=400;vx4=-random(-3,3);vy4=random(1,3);
}else if(edge4==2){
x4=0;y4=random(300);vx4=random(1,3);vy4=random(-3,+3);
}else if(edge4==3){
x4=random(300);y4=0;vx4=random(-3,3);vy4=random(1,3);
}
}
-------------------------------------------------------------------------------------------------------------------------
🍉來介紹我們的最終畫面:
🌸我們的DEMO畫面: (YT)🌸
封面:
首先最重要的就是我們的封面辣!!
標題為,重生拉機推,卻是藍白拖
意思是,蟑螂好不容易重生到了拉機堆,卻又要再一次被藍白拖消滅。
首頁有開始鈕及排名鈕。
時間到後,成績會顯示在上面。
此為排行榜,有最高分及第二高的分數。
---------------------------------------------------------------------------------------------------------------------------
我要感謝我滴搭檔,陳柏勻先生。
他在這份作業裡,做了許多,程式大部分都是他寫的。
而我只是畫了畫,讓這個介面變得更完美。
因為他,才做出了這麼滿意的小遊戲。💓
沒有留言:
張貼留言