电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Java 實現(xiàn)貪吃蛇游戲的示例

瀏覽:4日期:2022-08-15 16:14:22
游戲界面基本布局

Java 實現(xiàn)貪吃蛇游戲的示例

貪吃蛇是基于JFrame的一款小游戲。它主要有兩部分組成,一個是顯示區(qū)域,一個是按鈕區(qū)域。這兩個區(qū)域都用JPanel來實現(xiàn)。

首先需要創(chuàng)建一個基于JFrame的類,例如創(chuàng)建一個MyFrame,讓其繼承于JFrame。

然后創(chuàng)建一個顯示區(qū)域的類MyPanel,一個按鈕區(qū)域的類Button,當(dāng)然了這兩個類都基于JPanel。

第三步:在MyFrame類中實例化兩個JPanel類。并在MyFrame構(gòu)造方法中設(shè)置窗體的logo、窗體的標(biāo)題、窗體初始位置、窗體的大小、窗體的背景顏色、窗體的關(guān)閉方式等。

第四步:繼續(xù)清空MyFrame的布局管理器、設(shè)置窗體為固定大小不可更改、添加兩個區(qū)域并顯示、設(shè)置鍵盤監(jiān)聽焦點(控制貪吃蛇的移動)等。

游戲顯示區(qū)域MyPanle實現(xiàn)思路: 在構(gòu)造方法中注冊鍵盤監(jiān)聽事件、設(shè)置容器的坐標(biāo)及大小、設(shè)置容器的背景顏色。如果想要添加背景圖片,可以重寫paintComponent方法。 創(chuàng)建一個食物類Food,創(chuàng)建一個貪吃蛇類Snake,并在MyPanel里實例化這兩個類。 在MyPanel里創(chuàng)建一個貪吃蛇的線程,并在構(gòu)造方法里啟動該線程。 重寫paint方法,繪制容器。并設(shè)置相應(yīng)的顏色、畫線、調(diào)用貪吃蛇的移動方法和繪畫方法、調(diào)用食物的繪畫方法。 配置文件類: 定義布局所需要的行和列,定義上下左右四個方向 定義死亡檢測標(biāo)識、定義游戲狀態(tài)檢測標(biāo)識。 貪吃蛇線程類:

重寫線程啟動的方法在啟動方法里時刻檢測貪吃蛇是否死亡,如果死亡則彈出“游戲結(jié)束”的對話框。

食物類: 定義食物的坐標(biāo)。 定義食物的繪畫方法 當(dāng)食物被吃掉后,我們需要隨機生成一個位置來展示食物,因此需要一個生成隨機位置的方法repair() 定義獲取食物坐標(biāo)的方法。在構(gòu)造方法里隨機生成食物的坐標(biāo) 結(jié)點類:

蛇有蛇頭和蛇身、蛇尾,我們用節(jié)點來實現(xiàn)。

創(chuàng)建一個結(jié)點類,屬性包括所在行、所在列、上個結(jié)點、下個節(jié)點、前進方向。 在有參構(gòu)造方法中初始化貪吃蛇的位置信息,指定貪吃和前進的方向。 定義繪畫方法,蛇頭顏色為黃色、其余為藍色。貪吃蛇類 創(chuàng)建一個貪吃蛇類,屬性包括頭、身、尾、食物。 定義有參構(gòu)造方法,參數(shù)為食物。并初始化貪吃蛇的初始坐標(biāo)、以及設(shè)置結(jié)點之間的關(guān)系。 定義繪畫方法,遍歷貪吃蛇的每個節(jié)點,然后把每個節(jié)點繪畫出來。 定義獲取貪吃蛇坐標(biāo)的方法,用于獲取貪吃蛇的坐標(biāo)。 定義貪吃蛇的移動方法。貪吃蛇怎么移動?添加蛇頭——去蛇尾——吃食物——死亡檢測 定義添加蛇頭的方法,設(shè)置一個Node臨時變量。根據(jù)前進方向判斷,如何添加蛇頭。 定義去除蛇尾的方法,把蛇尾的前一個結(jié)點的后指針設(shè)置為空,把蛇尾的前一個結(jié)點設(shè)置為蛇尾即可。 定義吃食物的方法,三步走。首先判斷貪吃蛇坐標(biāo)和食物坐標(biāo)是否重合,如果重合就添加蛇頭然后重新布局食物。 定義死亡檢測方法,兩步走。第一步判斷是否越界,第二步判斷頭是否和尾重合。 定義鍵盤控制方法。當(dāng)用戶按下WASD鍵,貪吃蛇才可改變方向移動且不能逆向移動。(比如開始向上移動,我不能直接按S鍵讓它向下移動)。按鈕區(qū)域 創(chuàng)建屬性:myPanel、暫停、繼續(xù)、重新開始、退出。 創(chuàng)建帶參數(shù)的構(gòu)造方法,參數(shù)為myPanel. 在構(gòu)造方法中設(shè)置初始位置及大小、創(chuàng)建四個按鈕并添加。 在構(gòu)造方法里注冊按鈕監(jiān)聽。 重寫actionPerformed方法。檢測按下按鈕。 如果按下繼續(xù)游戲,那么需要重寫設(shè)置鍵盤監(jiān)聽焦點 如果是重新開始游戲,那么需要停止當(dāng)前線程,然后重新生成蛇和食物,并把控制條件還原到初始狀態(tài)。最后創(chuàng)建新的線程對象并啟動,最后再設(shè)置鍵盤監(jiān)聽焦點。 代碼獲取

https://github.com/XinPingLover/MyCode.git

以上就是Java 實現(xiàn)貪吃蛇游戲的詳細內(nèi)容,更多關(guān)于Java 貪吃蛇的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 鑫达滑石-辽宁鑫达滑石集团| 热处理温控箱,热处理控制箱厂家-吴江市兴达电热设备厂 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 合同书格式和范文_合同书样本模板_电子版合同,找范文吧 | 芝麻黑-芝麻黑石材厂家-永峰石业 | 储气罐,真空罐,缓冲罐,隔膜气压罐厂家批发价格,空压机储气罐规格型号-上海申容压力容器集团有限公司 | 集装箱标准养护室-集装箱移动式养护室-广州璟业试验仪器有限公司 | 深圳VI设计-画册设计-LOGO设计-包装设计-品牌策划公司-[智睿画册设计公司] | 食品无尘净化车间,食品罐装净化车间,净化车间配套风淋室-青岛旭恒洁净技术有限公司 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 高通量组织研磨仪-多样品组织研磨仪-全自动组织研磨仪-研磨者科技(广州)有限公司 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 河南膏药贴牌-膏药代加工-膏药oem厂家-洛阳今世康医药科技有限公司 | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | 环压强度试验机-拉链拉力试验机-上海倾技仪器仪表科技有限公司 | 无缝方管|无缝矩形管|无缝方矩管|无锡方管厂家 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 顶呱呱交易平台-行业领先的公司资产交易服务平台 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 全温度恒温培养摇床-大容量-立式-远红外二氧化碳培养箱|南荣百科 | 螺旋压榨机-刮泥机-潜水搅拌机-电动泥斗-潜水推流器-南京格林兰环保设备有限公司 | 分类168信息网 - 分类信息网 免费发布与查询| 骨灰存放架|骨灰盒寄存架|骨灰架厂家|智慧殡葬|公墓陵园管理系统|网上祭奠|告别厅智能化-厦门慈愿科技 | 空冷器|空气冷却器|空水冷却器-无锡赛迪森机械有限公司[官网] | 进口消泡剂-道康宁消泡剂-陶氏消泡剂-大洋消泡剂 | 电动葫芦|防爆钢丝绳电动葫芦|手拉葫芦-保定大力起重葫芦有限公司 | 小威小说网 - 新小威小说网 - 小威小说网小说搜索引擎 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | TTCMS自助建站_网站建设_自助建站_免费网站_免费建站_天天向上旗下品牌 | 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 亚洲工业智能制造领域专业门户网站 - 亚洲自动化与机器人网 | 无线对讲-无线对讲系统解决方案-重庆畅博通信 |