目录
- 游戏界面基本布局
- 游戏显示区域
- MyPanle实现思路:
- 配置文件类:
- 贪吃蛇线程类:
- 食物类:
- 结点类:
- 贪吃蛇类
- 按钮区域
- 代码获取
游戏界面基本布局

贪吃蛇是基于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 贪吃蛇的资料请关注其它相关文章!
相关推荐:
SEO引擎优化方法-让你的网站流量暴增的实战指南,ai智慧树
未来写作新模式文章撰写AI如何助力内容创作
ChatGPT页面空白不乏登录:让你秒变职场高手与生活智囊,百度ai 腾讯ai
在线AI文章生成器开启智能创作新时代
SEO职位:数字营销的核心,开启职业新高峰,汕尾网站建设推广厂商
ChatGPT-01:开创人工智能新纪元,AI如何画模糊的云层
怎么降低文章的AI生成率:打造更真实、更有价值的内容
文章续写AI:提升写作效率,创意无限
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
常用AI工具,高效智能生活
个性化广告:新时代营销的秘密武器,建设经营性网站怎么记账
文章AI思维导图自动生成助力创作的智慧之源
WPS改写-轻松提升文档创作效率的秘密武器,推广网站的优势
SEO新手必看:从零开始SEO优化的终极指南,随州网站优化技巧
SEO排序:如何让你的网页在搜索引擎中脱颖而出,平谷抖音seo推广招聘
中文润色:提升表达的艺术,打造无懈可击的语言魅力,广告营销推广新思路论文
优化高效率:提升个人与企业竞争力的关键,安康网站推广咨询
seo相关知识是什么,seo相关技术 ,ai写作讯飞星火认知大模型
目前国内最好的AI人工智能软件:未来新篇章
seo软文有什么作用,seo文案是什么 ,斐乐Ai测评问题
SEO要点:提升网站排名的核心技巧与策略,福田市网站建设推广费用
怎么用AI生成文章免费版,高效创作从此开始!
SEO新站优化指南:快速提升排名的必备技巧,海珠网站推广哪家有名
ChatGPT3.5需要登录使用吗?AI使用的真相!,电脑版写作ai推荐怎么关闭
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
SEO合作:让你的网站在搜索引擎中脱颖而出,惠州抖音seo策划公司
SEO外,如何提升网站整体营销效果?,文轩网络营销推广方案
AI写作技巧,让创作事半功倍!
SEO架构:提升网站流量的核心策略,东营南江全平台营销推广
OpenAI智能诊断医疗-开启精准医疗新纪元,跟侯维静学ai
SEO走动:提升网站流量的关键一步,SEO数据监控宝宝推荐
SEO用户:如何为您的网站带来持续流量和转化,惠州网站推广哪个好
乘风SEO:突破困境,领航网络营销新时代,武汉靠谱的关键词排名
seo资源是什么意思,seo资源怎么打开 ,梅州ai自动插件加工
为什么要seo 运营,为什么需要seo ,ai人物头盔
SEO元素-提升网站排名的核心要素,推广分成网站有哪些
SEO查看-如何通过精确分析提升网站流量与排名,东丽网站建设价格
SEO这种营销方式,改变你网站流量的秘密武器,佛山网站设计建设
为什么要监控SEO效果,国家为什么要监控个人 ,抚顺ai系统
优化服务网-提升客户体验,打造全方位智慧服务平台,东莞网站建设员招聘信息
怎么用AI写文章:高效创作的秘诀
用AI写的文章算原创吗?真相揭示,带你深度思考!
今时CMS:引领数字化转型的智慧之选,河南seo优化网站联系方式
自动写文章的AI,提升效率的创作利器
ChatGPT异常了:人工智能的极限与突破,ai and ethics
如何选择适合你的AI工具?全面解析AI工具哪个好用
用AI创作的文章算原创吗?深度背后的逻辑与意义
AI网站开发与代码创新:引领未来数字化变革的关键,ai ay规则
seo用到什么软件,做seo需要用到什么软件 ,皮皮ai
SEO全套秘籍:提升网站流量与排名的终极指南,荣昌手机网站建设