2011年6月24日 星期五

吃飯,睡覺,打東東!



玩法: 遊戲畫面會有隻叫東東的企鵝(也就是東東)隨機出現,而玩家
當然要努力打東東!每打到一次+100分,直到時間停止遊戲即算
結束!


當然要努力打東東!每打到一次+100分,直到時間停止遊戲即算結束!

關於這次期末專案,想法可以說是一變再變,內容也是一改再改,
一開始的構想是希望能夠模擬槍林彈雨從天而降,而遊戲者需要閃過種
種危險,但後來製作的過程中產生瓶頸,無奈只好改以較簡單的方式呈
現!

來源:這個遊戲後來的想法來自學長的打蚊子,只是當初我有想到要讓
那企鵝(東東)以亂數隨機的方式出現在視訊畫面中,但在測試時發現
兩個問題

問題一:身體有時很容易擋在圖片下一次出現前的位置,進而瞬間分數
爆衝
問題二:一開始圖片隨機亂數出現的速度太快了

在一次一次的嘗試中,我決定把圖片出現位置控制在最上方,於是將
iObjectTop1的值全設為0來固定上方位置,

  int i=random(9)+1;
switch (i)
{
 case 1: iObjectTop1=0; iObjectLeft1=0; break;
case 2: iObjectTop1=0;  iObjectLeft1=0; break;
case 3: iObjectTop1=0;  iObjectLeft1=0; break;
case 4: iObjectTop1=0; iObjectLeft1=100; break;
case 5: iObjectTop1=0;  iObjectLeft1=100; break;
case 6: iObjectTop1=0;  iObjectLeft1=100; break;
case 7: iObjectTop1=0; iObjectLeft1=200; break;
case 8: iObjectTop1=0;  iObjectLeft1=200; break;
case 9: iObjectTop1=0;  iObjectLeft1=200;
}

解決掉圖片出現位置的問題後,也決定找些背景音樂與音效加在遊戲裡

        MediaPlayer1->Visible = false;
             .
             .
             .
sndPlaySound("sound.wav",2);
Form1->Score->Text = Score1;
Score1 = Score1 + 100;

背景音樂選擇用手動去觸發,而音效sound才是在開始遊戲後碰到圖片
啟動,並且作+100分的動作,而何時作停止動作

 if(iFrameCount==600)
 {
Application->MessageBox("Time's Up", "吃飯睡覺打東東", MB_OK)
exit(0);
}

就是在iFrameCount==600時,會有MessageBox跳出告知時間到並結束遊戲


感想:

如一開始所說,做出來的成果與一開始的構想是有差距的,當初想說要做閃躲類的遊戲,卻在一開始LOAD圖時就出現問題,又花了一段時間解決,後來乾脆換主題試試看,但是對於當碰觸到圖片時範圍的判斷還是有誤差,幸好有同學指到一個盲點而進行調整,接著圖片亂數隨機出現的功能也順利寫好,感覺很有成就感!另外配合老師所說的加入背景音樂與音效,為此特地找了以前懷舊的紅白機音樂,整個彷彿回到小時候!

關於這門課帶給我的感覺跟其他門很不一樣,雖然大部分都是透過老師的程式碼去做修改與理解,但也是要慢慢加入自己的想法在裡面,不過畢竟因為是將平常會接觸到的遊戲轉做視訊遊戲,在實作上就很有趣,想到學期初剛接觸到視訊部分到現在自己能夠做出一個小遊戲,的確收穫不少!

感謝老師!

沒有留言: