2021-06-30

Java课程设计
(综合项目文档)

贪吃蛇小游戏

二〇二一年七月
目 录
1 绪论 1
1.1 项目概述 1
1.2 项目意义 1
2 开发工具和相关技术简介 2
2.1 Eclipse简介 2
2.2 Java语言介绍 2
2.3 MySQL简介 2
2.4 JDBC技术简介 3
3 系统需求分析 4
3.1 系统可行性分析 4
3.2 系统需求分析 4
3.3 组内成员分工 4
3.4 项目进度安排 5
4 系统设计 6
4.1 系统设计 6
4.2 数据库设计 6
5 系统实现 8
5.1 管理员登录界面实现 8
5.2 管理用户信息界面实现 8
6 系统测试 10
7 结论和心得 11

1 绪论
1.1 项目概述
该项目是一个贪吃蛇小游戏,项目要求设计多种模式,设计数据库,GUI,包含排行榜功能,记录数据功能。
1.2 项目意义
鉴于日常生活工作压力过大,闲暇时间大多比较零碎,为了缓解紧张的情绪,获得更高的工作效率,人们在日常的娱乐生活中没经常会玩一些单机版的益智小游戏,它的特点是内存小,无需建立网络,也不会使人沉迷,获得大多数人的喜爱。

2 开发工具和相关技术简介
本项目是贪吃蛇小游戏。开发环境:eclipse、MySQL;开发语言:Java语言;开发技术:JDBC,GUI等。本章将对开发工具和相关技术进行简单介绍。
2.1 Eclipse简介
Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括 Java开发工具(Java Development Tools,JDT)。
虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse环境无缝集成的工具。由于 Eclipse中的每样东西都是插件,对于给 Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

2.2 Java语言介绍
Java 是Sun公司推出的能够跨越多平台的、可移植性最高的一种 面向对象的编程语言 ,也是目前最先进、特征最丰富、功能最强大的计算机语言 。 利用Java可以编写桌面应用程序、Web应用程序、分布式系统应用程序、嵌入式系统应用程序等,从而使其成为应用最广泛的开发语言。.
JAVA的优点:
(1)简单易学
(2)完全面向对象
(3)安全可靠
(4)与平台无关的编程语言。
2.3 MySQL简介
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。. 由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。.
2.4 JDBC技术简介
JDBC(Java DataBase Connectivity,Java数据库连接)是一套允许Java与SQL数据库对话的程序设计接口,它是用于执行SQL语句的Java API,是Java应用程序连结数据库、存取数据的一种机制,可以为多种关系数据库提供统一的访问,它由一组用Java语言编写的类和接口组成。
3 系统需求分析
3.1 系统可行性分析
从技术和可扩展性来讲,是可行的。随着Internet的飞速发展使得MFC模式已经成为当前热门的系统架构方式,并且技术已经成熟,系统操作简单,不需要任何硬件设备,可以在任何地方进行操作而不用安装任何专门的软件。
操作上也是可行的。该系统不需要太大的投入以及太多的技术资源支持。
3.2 系统需求分析

贪吃蛇游戏是一种简单的大众游戏,自从计算机实现以来,深受广大电脑玩家的喜爱,做一个简单的贪吃蛇小游戏。贪吃蛇的核心算法是如何实现蛇的移动和吃掉食物后如何变成新的蛇体。没有碰到食物的时候,把当前运动方向上的下一个节点入队并以蛇节点的颜色绘制这个节点。而在吃食物的的,则只需把食物入队即可。实现贪吃蛇的基本蛇身移动,吃到食物身体增长,和碰到墙壁游戏结束,能够暂停和开始,暂停时可以记录数据。玩家根据不同水平选择不同的级别进行游戏。

3.3 组内成员分工
表3-1 组内成员分工情况表
序号 姓名 组内角色 小组分工 备注
1 夏其乐 组长 登入界面GUI
2 谢兴彬 组员 代码 数据库 游戏界面GUI
3 方国颂 组员 代码 游戏界面GUI
3.4 进度安排
进度安排如表3-2所示。
表3-2 进度安排表
阶段 持续时间 阶段描述 输出
构思阶段 3小时 需求分析 需求说明,功能模块图
设计阶段 2天 系统设计 设计说明-可以画流程图;数据库设计
实现阶段 3天 编写代码 项目工程源代码
5小时 系统测试 进行黑盒测试(功能测试)-测试说明
运行阶段 半天 部署、运行 系统使用说明、运维报告-答辩

4 系统设计
4.1 系统设计
根据系统的实际功能需求分析,对系统功能部分进行了设计。
贪吃蛇的游戏设计,首先要画出贪吃蛇,从而想到定义一个“蛇”的结构类型,包括:蛇的长度、坐标、运动方向,可通过数组来实现。然后要构造食物,和构造蛇一样,通过一个结构体来构造食物,食物结构体包括:事物的坐标和食物是否生成,而食物生成是随机的,所以可以通过随机生成函数来实现。还有运动区域,可以通过调用图形化的函数。

4.2 数据库设计

表4-1 用户信息表
序号 字段名 数据类型 约束 是否为空 说明
1 Name varchar(36) 主键 是 用户ID
2 Password varchar(36) 是 用户密码
3 No1 int 否 第一关分数
4 No2 int 否 第二关分数
5 No3 int 否 第三关分数
No4 int 否 第四关分数
No5 int 否 第五关分数
tempx varchar(36) 否 小蛇的x坐标
tempy varchar(36) 否 小蛇的y坐标

5 系统实现
5.1 用户注册界面实现
在这里插入图片描述

5.2 用户登录界面实现
用户通过输入账号密码来进行登录游戏选择界面。登录界面如图5-9所示。
在这里插入图片描述

图5-9 用户登录界面
5.3 用户信息界面实现
在这里插入图片描述

6 系统测试
在游戏开始界面对各个模式进行测试测试结果如表6-1所示

表6-1 贪吃蛇各个模式测试
编号 测试功能 输入描述 预期结果 运行结果
1 简单模式 进入游戏后蛇可吃食物来长大,每吃一个食物分数加10, 碰到自己身体游戏结束 正常,与预期结果一致
2 极速模式 进入游戏后蛇可吃食物来长大,每吃一个食物分数加10
,速度也会增加 碰到自己身体游戏结束 正常,与预期结果一致
3 困难模式 进入游戏蛇通过吃食物长大,食物限时,随机生成四种食物,食物超时生成障碍 碰到障碍或自己身体游戏结束 正常,与预期结果一致
4 双人模式 进入游戏后有两条蛇,两种食物,小食物吃掉加10分,大失误吃掉加30分 碰到自己及身体或者碰到另一条蛇的身体游戏结束 正常,与预期结果一致
5 障碍模式 进入游戏后蛇通过吃食物来长大,获得积分,没吃掉一个食物相应会增加一个障碍 碰到自己身体或者碰到障碍游戏结束 正常,与预期结果一致

7 结论和心得

学生1姓名:夏其乐
心得:通过此次实训,初步掌握了数据库,GUI的作用和意义,更加全面的了解了JAVA语言的特点和优势。让我明白了实践的重要性,理论和实践相结合的重要性,也让我感受到了这门语言的实用性和重要性,更加激发了我对这门课程的兴趣
学生2姓名:谢兴彬
心得:学习JAVA已经一个学期了,虽然在学习过程中有过许多困难,但是也慢慢克服了,尤其通过本次试验,在做实验的过程中,我发现很多问题通过现有知识无法解决,实际执行效果与预想不一致,经常出现问题,很考验逻辑和耐心,但我通过搜集资料、询问老师,自己分析慢慢解决了出现的问题,使我对JAVA产生了强烈的兴趣
学生3姓名:方国颂
心得:通过本次试验,我得到了很多收获,一方面加深了我对这门课程的认知,另一方面也提高了实验操作能力。使我对游戏编程有了初步的认识,对游戏算法有了一定的了解,从游戏的需求分析,系统设计到游戏代码实现每一步都是对自己的挑战。虽然也参考了网上一些资料,但是真实感受到游戏编程的快乐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值