使用java开发连连看游戏

news2024/12/25 2:33:59

技术:Java等

摘要:

社会在发展,人类在进步,生活质量保证之余,各种游戏蜂拥而起,越来越受到各界人士的追捧,比如老少适宜的斗地主,深受广大女性喜欢的节奏大师,受高智商人群喜欢的棋牌类游戏等等,而连连看游戏是无人不知无人不晓的其中之一。

我这次的毕设题目是“使用java开发连连看游戏”,改项目使用Java语言为母本,以Eclipse为开发工具,用Swing组件为父本,进行游戏开发。这次毕业设的主要想法就是应用Swing组件和处理事件技术,绘制界面,通过代码实现随机二维数组,此外点击鼠标来实现各项功能。

连连看游戏除了实现以往版本的普通消除功能,还实现了特殊消除功能,即任意位置只要两张图片相同即可消除,此为这次毕业设计的最大亮点。此外我还对这次毕业设添加了背景音乐以炸弹功能,在用户体验方面做出了很大的思维突破。通过此次连连看游戏的设将,使我深刻理解了Swing组件,事件处理,java语言的三大特性——封装,继承,多态。这些都将为我以后开发程序打下了坚实的意识基础和能力基础。

关键词:连连看;Swing;数组

目录:

摘 要 i

Abstract ii

第一章 绪论 1

一、 连连看游戏开发介绍 1

二、 游戏的发展概况 1

三、 游戏操作 2

四、 游戏设计的目的 2

第二章 系统需求分析 3

一、 游戏玩法说明和功能说明 3

二、 游戏可行性论证 4

三、 主要问题 4

四、 技术要求 4

五、 设计要求 4

(一) 开发环境及工具 4

(二) 理论基础 5

(三) 开发环境及工具介绍 5

第三章 系统的概要设计 8

一、 引言 8

(一) 编写目的 8

(二) 设计背景说明 8

二、 总体设计 8

(一) 需求规定 8

(二) 运行环境 9

(三) 功能需求与程序的关系 9

(四) 各个功能按钮的介绍 9

(五) 基本设计概念和处理流程 10

三、 接口设计 10

(一) 用户接口 10

(二) 外部接口 11

(三) 内部接口 11

四、 运行设计 11

(一) 运行控制 11

(二) 运行时间 11

五、 系统数据结构设计 11

(一) 逻辑结构设计要点 11

第四章 系统的设计与实现 12

一、 游戏的设计 12

(一) 功能设计 12

(二) 模块设计 15

(三) 算法设计 17

(四) 类的设计 18

二、 游戏的实现 19

(一) 关键算法的实现 19

(二) 游戏界面实现 25

(三) 游戏算法 31

第五章 系统的运行及测试 33

一、 游戏运行情况 33

二、 测试计划和异常处理 37

三、 软件测试综述 37

(一) 本游戏开发过程中的软件测试 38

(二) 测试用例 39

结 论 43

参考文献 44

致 谢 45

外文原文 46

中文翻译 60

包含资料:

截图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/338203.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Pandas——Series操作【建议收藏】

pandas——Series操作 作者:AOAIYI 创作不易,觉得文章不错或能帮助到你学习,可以点赞收藏评论哦 文章目录pandas——Series操作一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤1.创建Series2.从具体位置的Series中访问数据3.使…

FyListen——生命周期监听器(设计原理之理解生命周期)

FyListen——生命周期监听器(设计原理之理解生命周期) FyListen 的核心原理有两个: 通过子Fragment对Activity、Fragment进行生命周期监听Java8 接口特性 default 1. 什么是上下文Context 这是一个装饰器模式, ContextImpl 是 …

【ChatGPT说】我想给大家【编】一个故事,故事的主人公叫【架构师李肯】,故事的开头,还得从他那年买房说起。。。

大家好啊,我就是那个【天涯何处无知己,人穷陌路勿担忧】的架构师李肯! 架构师李肯(全网同名) 在深圳白手起家,毕业不到4年实现一线城市核心地段的安家梦,从0开始谱写励志人生!一个专…

一文手把手教你写一个 Makefile 文件

如果我们是在Linux下开发,那Makefile肯定要知道,不懂Makefile,面对较大的工程项目的时候就会比较麻烦,懂得利用开发工具将会大大提高我们的开发效率,也可以说Makefile是必须掌握的一项技能。 一、了解什么是 Makefile…

java集合框架内容整理

主要内容集合框架体系ArrayListLinkedListHashSetTreeSetLinkedHashSet内部比较器和外部比较器哈希表的原理List集合List集合的主要实现类有ArrayList和LinkedList,分别是数据结构中顺序表和链表的实现。另外还包括栈和队列的实现类:Deque和Queue。• Li…

steam/csgo搬砖项目真能月入过万吗?到底真的假的?

提前说明,这是正经、真实、官方渠道的兼职赚钱方式,不需要学历、不需要人脉,只要你认真学,每天花1-2个小时空闲时间动动手指,日赚300-1000问题不大! 搬砖是从国外steam市场置办游戏装备回来,在…

javassm运列车物资进销存及领用管理系统

主要对个人中心、生产部管理、财务部管理、库房部管理、用户管理、车型分类管理、线路信息管理、列车信息管理、物资分类管理、物资信息管理、储备定额管理、物资入库管理、物资申请管理、入库记录管理的实现。 本系统设计的现状和趋势,从需求、结构、数据库等方面的…

五、Git本地仓库基本操作——分支管理

1. 什么是分支? master分支 我们在初始化git仓库的时候,会默认创建一个master分支,HEAD指针这时就会默认执行master分支。当我们在master分支提交(commit)了更新之后,master分支就会指向当前当前最新的co…

微搭中如何实现弹性布局

我们在实际开发中经常可能会有一些社交的场景,比如开发一个类似朋友圈九宫格图片展示的功能。因为图片的数量不确定,所以需要实现图片的从左到右顺序排列。 在微搭中可以以可视化的方式设置样式。但是对于我们这类特殊需求,只用可视化设置显…

【SSL/TLS】准备工作:HTTPS服务器部署:Nginx部署

HTTPS服务器部署:Nginx部署1. 准备工作2. Nginx服务器YUM部署2.1 直接安装2.2 验证3. Nginx服务器源码部署3.1 下载源码包3.2 部署过程4. Nginx基本操作4.1 nginx常用命令行4.2 nginx重要目录1. 准备工作 1. Linux版本 [rootlocalhost ~]# cat /proc/version Li…

【宝塔部署PHP项目】含域名访问部署、IP访问部署、数据库、端口号、Nginx等知识

一定要弄懂项目部署的方方面面。当服务器上部署的项目过多时,端口号什么时候该放行、什么时候才会发生冲突?多个项目使用redis怎么防止覆盖?Nginx的配置会不会产生站点冲突?二级域名如何合理配置?空闲的时候要自己用服…

Day886.MySQL的“饮鸩止渴”提高性能的方法 -MySQL实战

MySQL的“饮鸩止渴”提高性能的方法 HI,我是阿昌,今天学习记录的是关于MySQL的“饮鸩止渴”提高性能的方法的内容。 不知道在实际运维过程中有没有碰到这样的情景: 业务高峰期,生产环境的 MySQL 压力太大,没法正常响…

力扣SQL刷题8

目录1212. 查询球队积分1270. 向公司CEO汇报工作的所有人1285. 找到连续区间的开始和结束数字1321. 餐馆营业额变化增长--重要窗口函数知识点补充1212. 查询球队积分 题型:读题 解答:先考虑做主方时,再考虑客方时 SELECT t.team_id, t.te…

人工智能轨道交通行业周刊-第33期(2023.2.6-2.12)

本期关键词:高铁激光清洗、高铁确认列车、无线通信系统、推理服务优化、量子信息技术 1 整理涉及公众号名单 1.1 行业类 RT轨道交通中关村轨道交通产业服务平台人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟V…

大数据系列之:安装pulsar详细步骤

大数据系列之:安装pulsar详细步骤一、Pulsar版本和jdk对应关系二、安装JDK三、设置和激活jdk环境变量四、下载和解压Pulsar五、查看Pulsar目录六、启动Pulsar standalone cluster七、创建Kafka Topic八、往Topic写入数据九、消费pulsar的Topic一、Pulsar版本和jdk对…

c#小笔记本-基础

c#基本知识一.基础操作1.打印-writeline,write2.输入-readline,readkey二.变量1.折叠代码-#region,#endregion2.变量类型(在c语言变量类型上新增的)三.常量-const四.转义字符五.显示转换1.括号强转-低精度装高精度2.parse法-作用于字符串3.co…

实践指南|如何在 Jina 中使用 OpenTelemetry 进行应用程序的监控和跟踪

随着软件和云技术的普及,越来越多的企业开始采用微服务架构、容器化、多云部署和持续部署模式,这增加了因系统失败而给运维/ SRE / DevOps 团队带来的压力,从而增加了开发团队和他们之间的摩擦,因为开发团队总是想尽快部署新功能&…

28岁才转行软件测试,目前32了,我的一些经历跟感受

我是92年的,算是最早的90后,现在跟你介绍的时候还恬不知耻的说我是90后,哈哈,计算机专业普通本科毕业。在一个二线城市,毕业后因为自身能力问题、认知水平问题,再加上运气不好,换过多份工作&…

关于@hide的理解

在上一篇文章《学习HandlerThread》我们提到虽然HandlerThread类里有getThreadHandler()方法得到Handler,但是我们不可能调用到它。因为这个方法用hide注释了 /*** return a shared {link Handler} associated with this thread* hide*/NonNullpublic Handler getT…

数据一致性

目录一、AOP 动态代理切入方法(1) Aspect Oriented Programming(2) 切入点表达式二、SpringBoot 项目扫描类(1) ResourceLoader 扫描类(2) Map 的 computeIfAbsent 方法(3) 反射几个常用 api① 创建一个测试注解② 创建测试 PO 类③ 反射 api 获取指定类的指定注解信息(4) 返回…