一、項目簡介
剛進入的時候會有一個界面,為地圖編輯器。可以使用此編輯器進行地圖編輯,地圖編輯器的內容包括:關卡、向左箭頭、帶有金幣的磚塊、帶有花朵的磚塊帶有蘑菇的磚塊、帶有星星的磚塊、普通磚塊、向左運動的板栗仔、向右運動的板栗仔、向左運動的烏龜、向右運動的烏龜、金幣、帶有食人花的管道、普通管道、洞、向右的箭頭、橡皮擦、可以使用鼠標點擊圖標然后拖動到面板上點擊面板進行地圖編輯,橡皮擦可以擦除已經建立好的模型。
部署完地圖之后可以選擇下一關進行下一個關卡的編輯,也可以點擊開始游戲開始游戲。游戲開始后從編輯的第一關卡開始進行闖關,人物可以移動通過ad鍵進行控制,可以跳躍,通過k控制,跳的時候可以跳到管子和磚塊上面。
人物有兩種狀態:大馬里奧和小馬里奧。小瑪麗奧可以撞普通的磚塊或者帶有包含物的磚塊使得磚塊可以向上稍微移動,磚塊上的一些包含物也會隨着磚塊移動。大馬里奧可以頂破普通磚塊。
怪物分為三種,分別為:板栗仔、烏龜和食人花。馬里奧可以通過跳躍的方式踩死怪物,板栗仔在被踩的時候會變扁,烏龜被踩的時候。走動狀態會變成龜殼狀態,龜殼狀態被碰到可以變成跑動的龜殼狀態,跑動的龜殼可以殺死馬里奧。板栗仔和其他的烏龜。運動的龜殼在運動的時候被馬里奧踩到會變成靜止的龜殼,食人花長在管道中,會定時出現對管道上方的物體進行攻擊,當馬里奧踩在管道上的時候不會出現。
還有三種物體是包含在磚塊中的,分別是星星、蘑菇、花朵。馬里奧自下向上頂磚塊之后磚塊上方會生長出相應的植物星星和蘑菇會向右方向行走,花朵會在原地。馬里奧可以通過觸碰的方式吃掉植物,不同植物有不同的加成效果。其中,吃掉蘑菇之后會變成大馬里奧。吃掉星星之后會變成無敵狀態。吃掉花朵之后會有發射子彈的技能。
任何物品,尤其是可移動物,包括子彈,在碰到洞之后會掉落到洞中人物掉落之后會損失一命,人物一共有五條生命。每次正面碰到烏龜或者板栗仔,或者掉落到洞中之后便會損失一條生命,每次損失生命則該關卡從頭開始當五條生命全部損失之后便會到game over狀態。
當馬里奧走到地圖的最后一個模型之后的位置的時候說明本關通過,本關通過時會有馬里奧跳下拉動旗幟旗幟拉倒底端的時候會向右跑到城堡位置。跑到城堡位置即屬於本關卡已經通過,則消除所有的加成狀態轉到下一關卡。
最后通關所有的關卡即為game ends,跳躍的時候有重力效應,降落的會越來越快游戲界面上方會有剩余生命,當前時間為0的時候會損失一命,還有計分系統。當玩家殺死怪物,或者吃掉某種可生長物,或者過關的時候都會獲取相應的分數加成。分數顯示在面板上方。吃掉金幣會有金幣數量統計,統計結果在生命右邊。本項目的亮點在於應用ioc技術的地圖編輯器和精美的人物模型。
二、需求分析
人物跳躍的重力,條約落下的時候碰到其他的硬物可以停止下落。踩死怪物。怪物死亡方式不同展現的畫面不同。吃東西,有屬性加成。大馬里奧頂破磚塊。小瑪麗奧頂磚塊磚塊可跟隨移動。磚塊上方的東西可以跟隨移動。地圖編輯功能。聲音功能。人物勝利拉旗進城堡。
三、系統設計
-
本項目共有20個公共類,5個接口。分成三種類,分別是:控制類、模型類、工具類
-
功能方面有兩大塊,分別是地圖編輯器和正式游戲
-
地圖編輯器部分使用了spring框架的ioc技術
程序功能流程圖如下圖所示:
參考文檔和完整的文檔和源碼下載地址: