(DS Project) Barrage Game with Processing Java ver.
- 無論使用Processgin打開專案或是直接使用.exe,執行遊戲前都請務必先安裝data裡的字體,否則字體顯示會跑位。
- 若要看程式碼請先安裝對應個人作業系統的Processing : https://processing.org/download/
- 當中有載入Minim函式庫,請選擇Tools -> Add Tool -> Libraries -> 搜尋"Minim" -> 選擇Minim 右下角按下Install
- 程式碼和data需要都放在DS_Project資料夾內才能打開全部的程式碼,且不能改名字,因為綁著專案的名字。
- 如果用Processing打開,只要按執行即可,若有檔案讀不到的問題,請將data裡的相對應讀不到的檔案拉進Processing視窗,以做連結。
- 輸出方式 Processing -> Export Application (前置需要安裝的東西請自己研究)
- 直接使用打包的application.windows64、application.windows32裡的程式exe也可以
-
在data裡的Description有給玩家的基本說明,在遊戲的開始會顯示給玩家看。 (麻煩玩遊戲時看看Description,因為連顯示文字都是要算位置的TAT)
-
顯示說明:
- 主角 - 乘著飛碟 (主角頭上的天線會呈現所接的最後一個子彈的顏色。)
- 怪物 - 外星人?
- 子彈 - 扇形物體
-
遊戲說明:
- 左鍵開始遊戲。
- 用滑鼠左右移動主角,必須躲避掉下來的怪物。
- 按左鍵發射子彈,右鍵重啟遊戲。
- 主角中心處可接收掉落的子彈,只有與怪物帽子顏色同色的子彈才能擊落怪物。
- 遊戲時間為(坑人的)48 秒,時間結束或被怪物觸碰到則遊戲結束。
- 遊戲結束會進行總計分,並依序列出所擊落的怪物。
-
計分說明:
- 躲避一隻為1分
- 擊落一隻得2分。
- 角色的形象是請別人設計的(在Description中的聲明有寫),我負責使用程式碼刻出來。
- 碰撞的演算法拙劣,目前使用矩形覆蓋計算加上微調,以及迴圈比對,效率與碰撞比對都不佳。
- 例如接子彈需要很中間才能接住,打怪物也需要很中間,被怪物打則是覆蓋面積計算的太大。
- 研究Dynamic AABB Tree 和 SAP算法中。
- 待優化與待補上: 碰撞演算法、結束後的排行榜。
- 鏈結串列: Singly Linked List,用來實做堆疊、佇列。
- 堆疊: 子彈的儲存與主角頭上原點的顯示(跟stack中top子彈同顏色)。
- 佇列: 所打掉的怪物的儲存,與遊戲結束後的顯示(會依序跑出來給你看,當然沒打中半隻就沒有)。
- 陣列: 太多地方用到了...
- 應用程式
- 主角形象設計 by WenTing & Fei
- 怪物形象設計 by Fei
- 子彈一看就是出自無良懶癌
- 編程設計 by 數學物理沒學好寫遊戲不會計算一堆東西的只想整天躺床沉迷小偶像們美色的正在找組員的那誰
附: Processing簡介 https://processing.org/ https://zh.wikipedia.org/wiki/Processing 是為互動藝術動畫開發的簡單圖形編程工具(動畫設計師也要會寫程式...)。 利於對編程不熟悉及 有基於JAVA、Javascript、Python、Android版本,只是稍有細節與使用習慣上的不同。 此次使用最基礎的基於JAVE的版本。