開發Windows貪吃蛇遊戲——(一)前期準備
在開始動手之前
在上一次使用Qt完成了計算器的開發後,好奇心使我想嘗試一下Java的圖形化開發,所以本次專案全程使用 Java 編寫。
專案需求分析
貪吃蛇專案要求實現遊戲的基本功能,例如生成地圖、食物、蛇,能控制蛇的移動,當吃到食物時蛇身增長,當撞牆或撞到蛇身後遊戲結束。再設計遊戲的初始歡迎介面、遊戲介面和結束介面。
功能分析
顯示介面需要JFrame和Jpanel來實現,地圖使用drawline畫出網格,每一格作為一個單位,設定最外層的格子為牆。使用兩個一維陣列存放蛇的x、y座標,陣列長度為格子的數量,確保蛇能足夠長。使用一個全域性變數記錄當前蛇的長度,方便繪圖時畫出正確的蛇。
在做碰撞檢測時,只需要將蛇頭節點的座標和蛇身的座標、食物的座標、牆的座標進行比較即可。
當蛇在移動時,需要將儲存蛇的陣列的每一個元素賦給後一個元素,最後計算首元素,此時最後一個元素的值被丟棄。若吃到食物,則將最後一個元素繼續向後賦值,同時設定蛇的長度加一。
補充
在繪製蛇時,若顏色一致,將導致蛇近距離移動時不易分辨蛇的走向,可以將蛇身變為彩色或漸變色,方便觀察。在計量蛇的長度時,可以使用兩個全域性變數,一個記錄蛇長度的初始值,另一個記錄蛇吃到食物的個數,兩個變數相加即可得到蛇的當前長度,且第一個變數可以根據難度的變化而變化,第二個變數恰好記錄了當前的遊戲分數。
由於本遊戲的畫面是由不變大小的單元格堆疊而成的,故可以考慮增加解析度選項,新增並設定對應的選單和選項。同時可以加入鍵盤快捷鍵的監聽,例如按下R鍵快速重啟遊戲等等。
後續
下一篇地址 開發Windows貪吃蛇遊戲——(二)程式碼實現
相關文章
- H5遊戲開發:貪吃蛇H5遊戲開發
- Python:遊戲:貪吃蛇Python遊戲
- JavaScript-開發一個簡單的貪吃蛇小遊戲JavaScript遊戲
- jQuery 實現貪吃蛇遊戲jQuery遊戲
- 貪吃蛇jsJS
- 04 貪吃蛇
- [譯] RxJS 遊戲之貪吃蛇JS遊戲
- Shell寫的貪吃蛇遊戲(轉)遊戲
- js貪吃蛇遊戲程式碼例項JS遊戲
- canvas貪吃蛇遊戲程式碼例項Canvas遊戲
- js開發實現簡單貪吃蛇遊戲(20行程式碼)JS遊戲行程
- 一個貪吃蛇小遊戲(17行程式碼)遊戲行程
- .NET分散式Orleans - 8 - 貪吃蛇專案實戰(準備階段)分散式
- Java實現貪吃蛇Java
- 貪吃蛇c原始碼原始碼
- 貪吃蛇源程式 (轉)
- javascript貪吃蛇小遊戲程式碼例項JavaScript遊戲
- html畫布製作貪吃蛇小遊戲HTML遊戲
- 閒得無聊寫的一個貪吃蛇小遊戲~遊戲
- C語言小遊戲------貪吃蛇----小白專用C語言遊戲
- 手把手教你寫Android 貪吃蛇 遊戲Android遊戲
- Ubuntu下C語言實現貪吃蛇遊戲UbuntuC語言遊戲
- Python3 貪吃蛇Python
- python實現貪吃蛇Python
- C#貪吃蛇(WPF版)C#
- GUI 基於Swing製作貪吃蛇小遊戲GUI遊戲
- 【Python】 Python小遊戲-貪吃蛇大冒險Python遊戲
- canvas實現的貪吃蛇遊戲程式碼例項Canvas遊戲
- 基於51微控制器的貪吃蛇遊戲遊戲
- OpenGL實現貪吃蛇程式碼
- C語言貪吃蛇原始碼C語言原始碼
- [原生JS][程式導向]貪吃蛇JS
- 初試javascript :貪吃蛇啊 (轉)JavaScript
- 如何用Python寫一個貪吃蛇AIPythonAI
- C語言實現桌面貪吃蛇C語言
- Python實現貪吃蛇大作戰Python
- (完整原始碼)貪吃蛇小遊戲——HTML+CSS+JavaScript實現原始碼遊戲HTMLCSSJavaScript
- [翻譯]如何將鍵盤改造成為貪吃蛇遊戲(全)遊戲