開發Windows貪吃蛇遊戲——(一)前期準備
在開始動手之前
在上一次使用Qt完成了計算器的開發後,好奇心使我想嘗試一下Java的圖形化開發,所以本次專案全程使用 Java 編寫。
專案需求分析
貪吃蛇專案要求實現遊戲的基本功能,例如生成地圖、食物、蛇,能控制蛇的移動,當吃到食物時蛇身增長,當撞牆或撞到蛇身後遊戲結束。再設計遊戲的初始歡迎介面、遊戲介面和結束介面。
功能分析
顯示介面需要JFrame和Jpanel來實現,地圖使用drawline畫出網格,每一格作為一個單位,設定最外層的格子為牆。使用兩個一維陣列存放蛇的x、y座標,陣列長度為格子的數量,確保蛇能足夠長。使用一個全域性變數記錄當前蛇的長度,方便繪圖時畫出正確的蛇。
在做碰撞檢測時,只需要將蛇頭節點的座標和蛇身的座標、食物的座標、牆的座標進行比較即可。
當蛇在移動時,需要將儲存蛇的陣列的每一個元素賦給後一個元素,最後計算首元素,此時最後一個元素的值被丟棄。若吃到食物,則將最後一個元素繼續向後賦值,同時設定蛇的長度加一。
補充
在繪製蛇時,若顏色一致,將導致蛇近距離移動時不易分辨蛇的走向,可以將蛇身變為彩色或漸變色,方便觀察。在計量蛇的長度時,可以使用兩個全域性變數,一個記錄蛇長度的初始值,另一個記錄蛇吃到食物的個數,兩個變數相加即可得到蛇的當前長度,且第一個變數可以根據難度的變化而變化,第二個變數恰好記錄了當前的遊戲分數。
由於本遊戲的畫面是由不變大小的單元格堆疊而成的,故可以考慮增加解析度選項,新增並設定對應的選單和選項。同時可以加入鍵盤快捷鍵的監聽,例如按下R鍵快速重啟遊戲等等。
後續
下一篇地址 開發Windows貪吃蛇遊戲——(二)程式碼實現
相關文章
- Python:遊戲:貪吃蛇Python遊戲
- JavaScript-開發一個簡單的貪吃蛇小遊戲JavaScript遊戲
- [譯] RxJS 遊戲之貪吃蛇JS遊戲
- 貪吃蛇
- 【Python】 Python小遊戲-貪吃蛇大冒險Python遊戲
- 04 貪吃蛇
- 貪吃蛇jsJS
- C語言小遊戲------貪吃蛇----小白專用C語言遊戲
- GUI 基於Swing製作貪吃蛇小遊戲GUI遊戲
- .NET分散式Orleans - 8 - 貪吃蛇專案實戰(準備階段)分散式
- js+jquery實現貪吃蛇經典小遊戲JSjQuery遊戲
- Python3 貪吃蛇Python
- python實現貪吃蛇Python
- Java實現貪吃蛇Java
- 貪吃蛇c原始碼原始碼
- 《貪吃蛇巴士》:《貪吃蛇》和《瘋狂計程車》的「完美結晶」
- pygame試水,寫一個貪吃蛇GAM
- 一步步教你怎麼用python寫貪吃蛇遊戲Python遊戲
- (完整原始碼)貪吃蛇小遊戲——HTML+CSS+JavaScript實現原始碼遊戲HTMLCSSJavaScript
- 利用python實現簡易版的貪吃蛇遊戲(面向python小白)Python遊戲
- Android-貪吃蛇小遊戲-分析與實現-Kotlin語言描述Android遊戲Kotlin
- 100行Python程式碼實現貪吃蛇小遊戲(超詳細)Python遊戲
- c/c++實現簡單的貪吃蛇視覺化遊戲C++視覺化遊戲
- C語言貪吃蛇原始碼C語言原始碼
- Python實現貪吃蛇大作戰Python
- 貪吃蛇完整版小案例
- OpenGL實現貪吃蛇程式碼
- C語言實現桌面貪吃蛇C語言
- 開發出貪吃蛇的諾基亞,為何會被手遊時代拋棄?
- 從零開始學 Web 之 JavaScript 高階(一)原型,貪吃蛇案WebJavaScript原型
- 裝逼的最高境界---一行js程式碼完成一個簡易版的貪吃蛇遊戲JS遊戲
- 貪吃蛇大作戰JavaFx版完整原始碼Java原始碼
- 用 Python 寫個貪吃蛇,保姆級教程!Python
- 溫習資料演算法—貪吃蛇演算法
- .NET分散式Orleans - 9 - 貪吃蛇專案演示分散式
- STM32最小系統板OLED貪吃蛇
- vue3 自定義渲染器 + canvas 寫一個《貪吃蛇?》VueCanvas
- h5+js實現單機版貪吃蛇H5JS