Download - 3D 遊戲程式設計 期末專案 DEMO
3D 遊戲程式設計
期末專案 DEMO
98703023 資科三 陳柏錡98703028 資科三 黃時耘98703046 資科三 施建帆
遊戲介紹 有鑑於 tetris battle的風行,在經過組員討論後決定製作 3D版的俄羅斯方塊。
理想目標:做出3D版的俄羅斯方塊(底部為一平面, 方況有依據x、y、z軸旋轉的方式,要 疊滿一平面才會消一行)
實際結果:礙於旋轉以及判定等過於麻煩,所以還是 只有寫出利用方塊來製作俄羅斯方塊(不
同於一般只是圖片)
程式編寫流程簡介畫面產生方塊建模往下掉落停留在底部並判定高度左右移動 &旋轉(!)邊界方塊碰撞判定(!)消行音效 &上色增加遊戲性
(一)畫面產生畫面
直接利用老師提供的lab當範例做出世界
邊界產生利用 glutsoildCube 繪製邊界
(二)方塊建模方塊繪製
一樣利用 glutsoildCube的方式來製作出各種方塊利用 kind的方式來繪製不同的方塊在一剛開始的時候利用 rand的方式來決定種類
(三)往下掉落
Drop隨著時間軸行進,利用 time fuction使方塊持續掉落當高度小於 1時就回到原始高度從新繪製方塊
(四)停留在底部並判定高度停留底部
我們利用 array來儲存當前位子是否有方塊再利用 for迴圈繪製已經掉落的方塊
判定高度原本是利用一個 array來儲存各 x軸的高度出現問題
(五)左右移動 &旋轉(!)移動
非常簡單,只是改一下方塊x軸上的值
旋轉非常困難原本想利用直接改變方塊位置(出現問題!)
解決辦法繪製更多種類的方塊(又出現更多的麻煩)邊界旋轉問題
(六)邊界判定邊界
不能讓方塊移出原本限定的範圍大於xx、小於yy即可
(七)方塊碰撞判定(!)上下
每當往下掉落前都須先判定下一高度是否已有方塊存在左右
同上,只是難度大增 (方塊形狀不一以及要判定的點很多)
(八)消行判定
當每跑完一次現有的方塊時,多家判定是否湊滿一行另用雙層迴圈的方時由下往上判定如果消行,當前高度以上的方塊高度都減1
(九)音效 &上色音效
利用 playsound的方式來播放背景音樂、音效問題:無法同時播放BGM與音效
顏色上課沒學好,不會做只有簡單的單色方塊,沒有陰影以及光影變化
(十)增加遊戲性難度
會隨著遊戲進行,掉落速度越來越快 (感覺不出來 ..)
關卡設計了幾個簡單的關卡,可以讓遊戲更有趣
空白鍵每個俄羅斯方塊都有的功能(〞.ω.) a
(十一 )未完成部分分數
不知道如何顯示文字
結束畫面沒有 game over跳出來啊!
Hold& Forwarding該有的功能卻沒有╮ (﹋﹏﹌ )╭
畫面精細度光影變化、方塊貼圖效果、背景
(十二)後記寫專案的過程
總是有人一直在玩蛋蛋龍(FB遊戲)期末考的壓力(都在寫程式,沒有讀書啊〒△〒)提前爆肝(熬夜討論以及分工寫程式)永遠解決不完的BUG(現在還是有莫名其妙的問題)
報告結束
接下來為實際操作的部分