java编写2048小游戏

Java课程设计

(综合项目文档)

               题目  2048游戏    

二〇二一年六月

1 绪论

    1. 项目概述

本程序是java编写的程序,函数中利用了画图函数绘制基本方块模型,并通过键盘或鼠标执行相应的操作。在产生的方块中,调用随机方法,随机产生1~100中的任何一个数字,数字小于90,方块显示数字为2,否则显示为4,每一,通过这种方式,实现了游戏中其中不同模块的数字的随机产生。

    1. 项目意义

在这个信息化时代,电脑已经普及,现在人们的生活越来越离不开计算器,随着人们的生活得到了保障,人们逐渐开始追求精神上的需求,因此开发一个好玩有趣的游戏是很有发展前景的。但是现在大型的游戏是非常的多,竞争力度也比较的激烈,并且开发的困难也比较的大,相对而言,针对小型的开发游戏还是比较少一点的,特别是对于老人和儿童的小游戏更是十分的少,竞争力度也很小,所以,开发简单的小型的单机游戏是很符合当今一定年龄层次的需求的。所以,根据游戏需求的漏洞,本组人员决定开发一款,针对老人和儿童的小游戏,本游戏的特点就是简单、易于操作的特点,是非常适合这一年龄层次的人玩的,这样游戏就会得到的很大的推广。

2 开发工具和相关技术简介

2.1开发工具

本项目是2048小游戏。开发环境:eclipse,IEDA,MYSQL;开发语言:Java语言;开发技术:JDBC,GUI等。本章将对开发工具和相关技术进行简单介绍。


2.2Eclipse简介

Eclipse :是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)

2.3 Java语言介绍

java是一门面向对象的编程语言。java语言具有功能强大和简单易用两个特征,具有简单性、面向对象、分布式等特点,可以编写桌面应用程序Web应用程序分布式系统嵌入式系统应用程序等。Java还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用

 Java的优点:

(1)简单性,Java看起来设计得很像C++,但是为了使语言小和容易熟悉,设计者们把C++语言中许多可用的特征去掉了,这些特征是一般程序员很少使用的。

(2)面向对象;Java是一个面向对象的语言。对程序员来说,这意味着要注意应中的数据和操纵数据的方法(method),而不是严格地用过程来思考。

(3)分布性Java设计成支持在网络上应用,它是分布式语言。Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

(4)4.编译和解释性:Java编译程序生成字节码(byte-code),而不是通常的机器码。Java字节码提供对体系结构中性的目标文件格式,代码设计成可有效地传送程序到多个平台。Java程序可以在任何实现了Java解释程序和运行系统(run-time system)的系统上运行。

(5)5.稳健性:Java原来是用作编写消费类家用电子产品软件的语言,所以它是被设计成写高可靠和稳健软件的。Java消除了某些编程错误,使得用它写可靠软件相当容易。

(6)安全性Java的存储分配模型是它防御恶意代码的主要方法之一。Java没有指针,所以程序员不能得到隐蔽起来的内幕和伪造指针去指向存储器。更重要的是,Java编译程序不处理存储安排决策,所以程序员不能通过查看声明去猜测类的实际存储安排。编译的Java代码中的存储引用在运行时由Java解释程序决定实际存储地址。

(7)可移植性:Java使得语言声明不依赖于实现的方面。

2.4 MySQL简介

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,属于Oracle旗下产品,是最流行的关系型数据库管理系统之一。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言,由于其体积小、速度快、开放源码等特点,一般中小型网站的开发都选择MySQL作为网站数据库。

2.5JDBC技术简介

jdbc(Java数据库连接)是一种用于执行SQL语句的Java API,由一组用Java语言编写的类和接口组成。它可以为多种关系数据库提供统一访问,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,实现了所有这些面向标准的目标并且具有简单,严格类型定义且高性能实现的接口。

3 系统需求分析

3.1 系统可行性分析

本程序是在eclipse和IDEA环境下编写的JAVA程序,通过键盘和鼠标执行相应的操作,在产生的方块中,调用随机方法,使得方块的显示数字为2或者4,通过这种方法实现游戏中不同模块的数字的随机产生.

3.1-操作流程图

3.2 系统需求分析

    

       

3.2-需求分析

 

3.3 组内成员分工

表3-1 组内成员分工情况表

序号

姓名

组内角色

小组分工

备注

1

张颖

项目经理

main主方法 GUI固定操作,游戏所需

要的全局变量。判断是否可以移动等

2

黄华

架构师

编写排行榜功能,将数据存储到数据库等

3

杜龙吟

测试

绘制面板,绘制数字块,生成随机数等

3.4 进度安排

进度安排如表3-2所示。

表3-2 进度安排表

阶段

持续时间

阶段描述

输出

构思阶段

3小时

需求分析

需求说明,功能模块图

设计阶段

2小时

系统设计

设计说明-可以画流程图;数据库设计

是现阶段

2天

编写代码

项目工程源代码

2小时

系统测试

进行黑盒测试(功能测试)-测试说明

运行阶段

2小时

部署、运行

系统使用说明、运维报告-答辩

4 系统设计

4.1 系统设计

本游戏通过上下左右键进行操作,两个相同方块进行合并可得一块新的方块,值为这两个方块之和,不同数字块不能合并。最后当整个页面铺满不能合并的数字块后即为失败。

4.2 数据库设计

根据系统需求分析设计了1张信息表。具体信息如表4-1所示。

表4-1  管理员信息表

序号

字段名

数据类型

约束

是否为空

说明

1

Score

Int(20)

成绩

2

Timestamp

bigint(20)

主键

时间戳

5 系统实现

5.1 2048游戏界面

开始界面如图5-9所示。

图5-9  游戏开始界面

5.2 2048游戏运行界面

                    在开始页面进入游戏之后即可开始游戏内容,通过上下左右键进行操作

图5-2  游戏运行界面

5.3 2048游戏结束界面

图5-3  游戏结束界面

6 系统测试

在2048游戏中需要对,测试结果如表6-1所示。

表6-1 花盆监控模块测试表

编号

测试功能

输入描述

预期结果

运行结果

HP01

计分功能

  1. 进入游戏结束界面
  2. 出现分数功能

出现所得分数

正常,与预期结果一致

HP02

难度功能

1.点开游戏开始界面

2.用键盘输入1

可以将难度调节到1,即到64结束

正常,与预期结果一致

从测试结果中可以看出该模块的所有功能均能正常实现,且测试结果与预期结果一致。

7 结论和心得

学生1姓名:张颖

心得:感觉自己学艺不精,有很多想要实现的功能都没有实现,能力有待提升,和改进,通过本次综合项目,我更加深刻的理解了java程序设计语言的魅力。

学生2姓名:杜龙吟

心得:这次课程设计虽然我负责的部分比较简单,但是我还是有了很大的收获,以前代码打得比较少,这次代码能够打出来感觉很开心,以后我要多多练习,提高编程能力。

学生3姓名:黄华

心得:本次课程设计让我知道我们还有很多解决不了的实际问题,我应当好好学习Java语言,提升自己的编程水平。

结论; GUI界面不过完善也不够美观,相关功能还需要学习和完善。玩法较为单调,还有许多需要改进,但是于此同时也提高和培养了我们的团队协作能力,和编写代码的能力。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值