基于java的贪吃蛇游戏-计算机毕业设计

news/2024/11/18 4:21:26/

项目介绍

本游戏采用Java环境和Eclipse开发工具,开发了一个界面美观,操作简单并且功能齐全的贪食蛇游戏,整个游戏分为了10个类,实现了游戏的开始、结束、暂停,通过了本游戏的开发,达到了学习Java及Java GUI,熟悉开发软件过程的目的。
本游戏要完成贪食蛇游戏的基本操作,玩家可以自己进行练习与操作,贪食蛇游戏的GUI界面主要包括图形框架、蛇头蛇身的设计、开始结束按钮以及背景颜色的设置,游戏的主界面简洁明朗,赏心悦目。

在本课题中程序的关键在于蛇的图形以及蛇的移动,应用一个小的矩形方块来表示蛇的一节身体,在操作游戏时按下“上”,“下”,“左”,“右”方向键分别可以让蛇头向着对应的方向移动,所以在按下方向键后,先要确定蛇头的方向,然后蛇身随着蛇头向相应的方向移动,在蛇吃到一个食物后再因为java的多线程机制使得前面蛇的位置与新蛇的位置差一个单位,所以就看起来蛇“长了一截”。

游戏的核心
本系统总共包含了10个类文件,分别提供控制、基础类、监听器、测试类以及配置类。
贪食蛇的核心算法是如何实现移动以及吃掉食物,在没有碰触到食物的时候,把当前运动方向的下一个节点放入蛇身,并且以节点颜色来绘制,然后把节点使用背景色加深,实现蛇身的移动,吃到食物后以蛇身的方向把食物节点放入蛇身并且加深背景色,实现蛇吃到食物后增长蛇身以及蛇身的移动。

效果图

在这里插入图片描述
在这里插入图片描述
1 引言 1
1.1 课题背景1
1.2 研究的目的和意义1
1.3 国内外研究现状1
1.4 开发工具及技术 3
1.4.1 Java语言 3
1.4.2 Java平台 5
1.4.3 JDK工具5
1.4.4 Eclipse开发工具5
1.4.5 GUI技术简介6
1.5 软硬件需求7
1.5.1 硬件需求7
1.5.2 软件需求7
2 系统需求分析 8
2.1 需求分析8
2.2 预期目标8
2.3 系统的可行性分析9
2.3.1 技术可行性分析9
2.3.2 经济可行性10
2.3.3 操作可行性10
3 系统功能设计11
3.1 系统流程图11
3.2 系统结构图12
3.3 系统类文件12
3.4 蛇的移动13
4 系统详细设计14
4.1 主界面设计14
4.2 调整背景颜色界面16
4.3 显示网格功能17
4.4 设置蛇头颜色18
4.5 设置蛇身颜色20
4.6 设置食物颜色21
4.7 蛇的移速调整22
5 系统测试23
5.1 测试的意义24
5.2 测试的过程24
5.3 测试的结果24
结论25
参考文献26
致谢27


http://www.ppmy.cn/news/4184.html

相关文章

Python编程 函数的定义与参数

作者简介:一名在校计算机学生、每天分享Python的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.函数 1.函数例子 不会让代码重复的出现。CVout 2.函数介绍(熟悉) 3.…

【操作系统三】图解网络IO(bio\nio\slect\epoll)

【操作系统三】图解网络IO实战一、计算机组成二、系统中断三、晶振(时间中断、分时复用)四、事件中断1、DMA2、事件中断3、网卡也会产生中断?五、linux系统知识1、linux下一切皆文件?1.1、nc启动一个服务端,端口号80801.2、linux下…

CS61A Homework 8

更好的阅读体验 Homework 8 Solutions hw08.zip Solution Files You can find the solutions in the [hw08.py hw08.lark](https://cs61a.org/hw/sol-hw08/hw08.py hw08.lark) file. Questions RegEx Q1: CS Classes On reddit.com, there is an /r/berkeley subreddit …

第十四届蓝桥杯集训——if——配套基础示例

第十四届蓝桥杯集训——if——配套基础示例 目录 第十四届蓝桥杯集训——if——配套基础示例 例题1:三角形任意两边之和大于第三边 例题2:判断回文数 例题3:狗的年龄 例题4:帐密登录 例题1:三角形任意两边之和大于…

Linux部署Nginx并配置https

1. 下载nginx安装包 wget http://nginx.org/download/nginx-1.21.6.tar.gz2. 解压压缩包 tar -zvxf nginx-1.21.6.tar.gz3. 初始化configure #配置configure --prefix 代表安装的路径,--with-http_ssl_module 安装ssl,--with-http_stub_status_module…

04-Golang的一些基本变量

Golang的一些基本变量变量介绍概念变量使用注意事项变量的使用的基本步骤程序中 号的使用变量介绍 概念 变量相当于内存中一个数据存储空间的表示,你可以把变量看作是一个个房间的门牌号,通过门牌号我们可以找到房间,同样的道理&#xff0c…

【电脑使用】硬盘无法引导进入系统,无法退出BIOS

前言 因为想要给自己的笔记本添置装备,于是想着把老电脑上的固态拆下来,但是考虑到老电脑虽然不常用,但还是偶尔会用,不能是瘫痪状态,于是想把我之前淘到的一个机械硬盘换上去,结果发现无法引导进入系统&am…

奇舞周刊 476 期:代码在内存中的 “形状”

记得点击文章末尾的“ 阅读原文 ”查看哟~下面先一起看下本期周刊 摘要 吧~奇舞推荐■ ■ ■代码在内存中的 “形状”众所周知,js 的基本数据类型有 number、string、boolean、null、undefined 等。那么问题来了 typeof null 和 typeof undefined 分别是什么呢&…