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

您的位置:首頁技術文章
文章詳情頁

Java 實現貪吃蛇游戲的示例

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

Java 實現貪吃蛇游戲的示例

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

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

然后創建一個顯示區域的類MyPanel,一個按鈕區域的類Button,當然了這兩個類都基于JPanel。

第三步:在MyFrame類中實例化兩個JPanel類。并在MyFrame構造方法中設置窗體的logo、窗體的標題、窗體初始位置、窗體的大小、窗體的背景顏色、窗體的關閉方式等。

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

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

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

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

蛇有蛇頭和蛇身、蛇尾,我們用節點來實現。

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

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

以上就是Java 實現貪吃蛇游戲的詳細內容,更多關于Java 貪吃蛇的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 斗式提升机_链式斗提机_带式斗提机厂家无锡市鸿诚输送机械有限公司 | 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | TwistDx恒温扩增-RAA等温-Jackson抗体-默瑞(上海)生物科技有限公司 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 亿立分板机_曲线_锯片式_走刀_在线式全自动_铣刀_在线V槽分板机-杭州亿协智能装备有限公司 | 锥形螺带干燥机(新型耙式干燥机)百科-常州丰能干燥工程 | 盘装氧量分析仪-防爆壁挂氧化锆分析仪-安徽吉帆仪表有限公司 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 哲力实业_专注汽车涂料汽车漆研发生产_汽车漆|修补油漆品牌厂家 长沙一级消防工程公司_智能化弱电_机电安装_亮化工程专业施工承包_湖南公共安全工程有限公司 | 番茄畅听邀请码怎么输入 - Dianw8.com | 手术室净化厂家-成都做医院净化工程的公司-四川华锐-15年特殊科室建设经验 | 耐磨陶瓷管道_除渣器厂家-淄博浩瀚陶瓷科技有限公司 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 北京网站建设-企业网站建设-建站公司-做网站-北京良言多米网络公司 | PCB厂|线路板厂|深圳线路板厂|软硬结合板厂|电路板生产厂家|线路板|深圳电路板厂家|铝基板厂家|深联电路-专业生产PCB研发制造 | elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 全自动烧卖机厂家_饺子机_烧麦机价格_小笼汤包机_宁波江北阜欣食品机械有限公司 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 右手官网|右手工业设计|外观设计公司|工业设计公司|产品创新设计|医疗产品结构设计|EMC产品结构设计 | ge超声波测厚仪-电动涂膜机-电动划格仪-上海洪富 | 点胶机_点胶阀_自动点胶机_智能点胶机_喷胶机_点胶机厂家【欧力克斯】 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 成都软件开发_OA|ERP|CRM|管理系统定制开发_成都码邻蜀科技 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 苏州柯瑞德货架-仓库自动化改造解决方案 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 潍坊大集网-潍坊信息港-潍坊信息网 | 超声波乳化机-超声波分散机|仪-超声波萃取仪-超声波均质机-精浩机械|首页 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 济宁工业提升门|济宁电动防火门|济宁快速堆积门-济宁市统一电动门有限公司 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 |