如何用java實現一個貪吃蛇小遊戲
貪吃蛇是一個非常經典的小遊戲,我們該如何用java語言來自己實現這個簡單點的遊戲呢?我們需要知道java的swing編程知識,製作遊戲介面,實現貪吃蛇上下左右移動等功能。如果我們還要儲存遊戲得分排行榜,還需要學習java檔案操作功能等。所以,實現貪吃蛇功能,不僅僅有趣,而且有助於我們更熟練的掌握java。
操作方法
(01)設計遊戲,首先就要設計介面。首先看一下我設計的一個介面。介面分爲左邊的遊戲區與右邊的控制區。遊戲區包含“得分資訊”和貪吃蛇的遊戲區,右邊控制區有“開始”“暫停”“停止”按鈕,等級選擇單選框以及遊戲排行榜。
(02)所以我們需要定義swing組件,並在類初始化時初始化這些組件,添加組件。因爲後面設計遊戲的時候,我們要確切知道遊戲區的大小,所以這裏設定遊戲區固定大小值。本來想用佈局來更好的管理,但作者對佈局也掌握不夠,所以就先設定固定大小吧。
(03)定義我們的遊戲。貪吃蛇遊戲其實就是包含很多細小網格,然後蛇在網格中移動。蛇由一連串的網格組成,爲了視覺效果,蛇身用藍色標記,食物用紅色標記,背景白色。如第一張圖片所示。所以,我們需要定義二維數組,儲存網格資訊,儲存蛇身和食物的位置資訊等。初始化時,還需要添加鍵盤事件控制上下左右移動。
(04)食物的位置資訊是二維的,所以我簡單定義了一個類用來儲存二維資訊。
(05)接着就是實現遊戲的功能了。開始,暫停,停止按鈕添加事件控制遊戲開始。等級按鈕定義遊戲難度等。
(06)開始遊戲後,我們定義一個定時器。蛇身按照指定的方向移動,方向是透過初始化時添加的鍵盤事件,鍵盤的上下左右按鈕來控制。蛇身是連續的位置資訊,儲存到隊列中,所以蛇身的移動就是隊首增加一個位置,隊尾減少位置,然後重新繪畫遊戲區就可以了。在蛇身移動時進一步做吃掉食物、撞牆、撞到自己的處理。這是遊戲的主要邏輯。
(07)最後,遊戲結束我們彈出一個對話框提示是否儲存遊戲得分。我們製作了排行榜資訊,只保留前10名的遊戲得分。首先定義了一個實現Comparable接口的遊戲得分類,按得分高,時間最早來排序。
(08)遊戲結束時儲存得分資訊,看是否進入到排行榜中。而之前在初始化排行榜組件時就會加載遊戲排行榜資訊。透過儲存和讀取排行榜資訊,我們也熟悉一下檔案讀取操作,還有集合、排序算法的功能。
(09)最後編譯執行,結果良好。經驗也只能寫一個大概的設計,貪吃蛇遊戲功能實際是比較簡單的,主要就是介面的佈局,swing編程等。如果有任何疑問,歡迎大家留言。
-
支付寶如何取消快捷支付?
快捷支付是支付寶作爲支付寶獨特的交易方式,不過支付寶爲了取消網銀付款的麻煩,增加用戶的粘性,並且鎖住用戶。今天小編分享支付寶如何取消快捷支付。操作方法(01)我們在支付寶上設定快捷支付,首先我們需要登入自己的支付寶賬號或者淘寶賬號。登入自己的賬號和密碼就...
-
windows 計劃任務未啓動
設定好的計劃任務未能按時啓動。操作方法(01)1.設定計劃任務,指定啓動時間。過了時間計劃任務腳本爲啓動執行。(02)第一種方法:在計劃任務上右鍵,“屬性”-“常規”選項中勾選“僅在登入後啓用”(03)第二種方法1、Ctrl+R鍵,執行2、選擇計算機配置---Windows設定---安全設...
-
如何在明星熱力榜爲愛豆守護打榜
大多數人都有自己的愛豆,也想爲Ta做點事情,但是又不知道怎麼去做?想爲愛豆貢獻自己的力量?今天教大家如何在《明星熱力榜》爲自己喜歡的愛豆守護打榜,把Ta安利給更多人,爲Ta贏得更多曝光哦操作方法(01)微信搜尋《明星熱力榜》,進入小程序(02)開啟明星熱力榜,搜尋自己喜歡的...
-
怎麼可靠的註冊實名認證淘寶買號的方法
操作方法(01)登入你的主支付寶賬號,輸入賬號和密碼進入(02)上傳身份證正反圖片然後提交,同時輸入一個郵箱用來接受消息!(03)上傳後等待處理結果,只要你提交的身份證正確有效,一分鐘之內支付寶系統就會自動審覈完成。(04)你點擊檢視就可以看到了申訴成功了,這樣就可以關聯其他...