我在寫一個非常簡單的Java遊戲。讓我簡單描述一下:如何有效地設計和編寫遊戲?
- 地圖中有4名玩家。
- 該圖是一個二維矩陣,其值爲「高度」
- 2個節點之間的高度是該邊緣的成本。
- 使用Dijkstra算法來幫助玩家從源游到目的地。
- 四名球員輪流前進。總的動作是8(左上,上,右上...)
- 如果他們見面,爭奪黃金價值,否則移動到他們的目標。
- 隨着他們移動,他們的力量減少兩個節點之間的高度差異。
- ...等
.... ,我現在遇到的問題是,源代碼是越來越長和日趨複雜。而且我認爲我以某種方式使用了錯誤的方法,因爲不斷改變實施方式,我感到非常疲倦。這是我的方法:
- 寫出所有要求。
- 使用所有getter和setter創建所需的所有對象。
- 創建一個靜態類測試
- 創建單元測試,而把邏輯一起
- 添加一些更多的代碼,然後修改代碼以適應測試
- 編寫運行一個大的方法,然後休息邏輯把它變成更小的方法,然後再寫單元測試。
- 如果一切正常,請添加更多要求,添加更多代碼
- 然後,事情變得越來越複雜,因爲我添加的代碼越多,複雜度就越高。由於創建測試用例現在需要做太多的工作,因此再也沒有時間寫單元測試。
- 重新設計,然後更改實現,再次轉到步驟1。
我來自C++的背景,我只能寫'靜態'庫,如:堆棧,隊列,鏈接列表,樹... ...對我來說真的是一個很大的挑戰,尤其是我必須使用Java。我明白核心編程是一樣的,所以選擇Java並不是那麼糟糕。但是,查找Java API的時間不算少。此外,遊戲邏輯真的很難寫。當這個對象移動時,其他對象受到影響...,因此爲方法創建測試取決於許多其他方法...等。 我真的需要一個建議。任何人都可以分享一些關於如何給我寫遊戲的經驗嗎?我只剩兩週時間完成這項任務。我目前有45類,現在,我覺得這樣失去了,因爲我越寫它變得複雜:(越!
最好的問候,陳 阮
這可能更適合http://gamedev.stackexchange .com – Frank 2010-11-27 11:15:48
@Frank:謝謝!該網站是驚人的;) – Chan 2010-12-30 10:39:32