Java实现连连看源代码文档_Java实现游戏连连看(有源代码)

41528d3028836879cd698677c3999917.gifJava实现游戏连连看(有源代码)

JAVA语言实现连连看游戏 1.课程设计目的 Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。 学会Java程序开发的环境搭建与配置,并在实际运用中学习和掌握Java程序开发的全过程。进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计、Java多线程编程、Applet程序的设计、文件和网络输入输出流编程、Java数据库编程等。通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力 2.设计方案论证 2.1设计思路 2.1.1用户可以通过点击菜单中的“开始游戏”选项,开始新游戏程序。程序会载入图片,并通过特定的算法排列图片,并标记图片,以便判断图片是否相同。记录图片坐标,以方便计算图片是否可以相连。确定图片大小,以确定用户点击的是那张图片。 2.1.2用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归0),以完成用户以后的选取工作。如果用户选择的是相同的图片,那么系统会消除这两张图片,并使鼠标记数为0,并消除这两张图片的标记,使里面的图片被标记在外面。以便用户可以进行以后的选择。 2.1.3用户也可使通过使用“炸弹”功能进行消除图片。方法是点击菜单中的“炸弹”选项使用,点击后如果界面上有两张可以相连的相同图片就随机消除两张可以相连的相同的图片。 2.1.4 炸弹数目是有限的,默认数目为三,每使用一次“炸弹”功能,炸弹数目就会自动减一,当炸弹数目为零时(使用三次“炸弹”功能)。并且用户想再次使用炸弹时,系统会弹出对话框提示用户,并把菜单中“炸弹”选项变为灰色(用户不可使用)。 2.1.5当系统开始游戏后,系统会在后台记录时间,如果在用户还没有消除所有图片时,系统时间到了,那么系统会弹出对话框,提示用户,时间到了,游戏失败。 2.1.6 当用户点击确定后,系统还会弹出对话框询问用户是否重新开始,用户选择“是”时,系统会开始新游戏;当用户选择“否”时,系统会返回开始界面;当用户选择“取消”时,系统会返回提示时间到的界面。 2.1.6 如果在时间未到时,用户使所有的图片都消失(两两消除,直到最后一对),系统会提示用户游戏以通过,点“确定”后回到开始界面。 2.2设计方法 在设计连连看小游戏是,需要编写6个Java源文件:MainFrame.java,ChessButton.java,MapUI.java,Settings.java,ArrayPoint.java,Map.java。 2.2.1 MainFrame.java 主窗口部分定义了程序用函数,实现了程序菜单(initMenuBar)的使用。 2.2.2 ChessButton.java 按键部分定义按键的位置,代表的值。 2.2.3 MapUI.java 游戏部分判断点击的图片,判断两图片是否可连,是否相同。判断是否胜利。实现炸弹功能。 2.2.4 Settings.java 数组确定了游戏各种参数属性。 2.2.5 ArrayPoint.java 取值部分定义图片的值。 2.2.6 Map.java 算法部分通过算法确定两张图片是否连通。 2.3功能模块 此设计共有以下几个功能模块。 2.3.1 开始游戏 程序会载入图片,并通过特定的算法排列图片,并标记图片,以便判断图片是否相同。记录图片坐标,以方便计算图片是否可以相连。确定图片大小,以确定用户点击的是那张图片。 2.3.2 使用“炸弹” 用户点击菜单中的“炸弹”选项使用,点击后如果界面上有两张可以相连的相同图片就随机消除两张可以相连的相同的图片。 2.3.3 限制炸弹“数目” 炸弹 默认数目为三,每使用一次“炸弹”功能,炸弹数目就会自动减一,当炸弹数目为零时(使用三次“炸弹”功能)。并且用户想再次使用炸弹时,系统会弹出对话框提示用户,并把菜单中“炸弹”选项变为灰色(用户不可使用)。 2.3.4 对用户游戏时的判断 用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归0),以完成用户以后的选取工作。如果用户选择的是相同的图片,那么系统会消除这两张图片,并使鼠标记数为0,并消除这两张图片的标记,使里面的图片被标记在外面。以便用户可以进行以后的选择。 2.4流程图如下 图2 主函数流程图 开始程序 开始游戏 接收用户点击 是否使用炸弹 Y N 是否二次点击 N 消除点击计数 两张图片 是否相同 Y N 消除两张一样的 可以相连的图片 Y 两张图片是否可以相连 N 消除用户点击 的两张图片 Y 消除点击计数 是否还有图 片未消除 Y 结束 N 图3 游戏进行流程图 图4 使用炸弹流程图 图5 计算时间流程图 2.5类、方法、属性说明 成员变量 成员变量描述 变量类型 名称 行数 int ROWS 列数 int COLUMNS 图片后缀名 string RELEX 每局所花时间(秒) int PERTIME 判断的时间间隔 int PER 炸弹的使用次数 int BOMBCOUNT 方法 方法名 功能 备注 MenuBar() 实用程序菜单 无备注 Bomb() 设置炸弹 无备注 Point() 定义按键的位置 无备注 Chesses() 初步定义游戏界面,功能 无备注 Timer() 时间限制 无备注 3.设计结果与分析 用户可以通过点击菜单中的“开始游戏”选

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

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

相关文章

C语言中auto,register,extern,static【转】

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 语言中提供了存储说明符auto,register,extern,stat…

SEO的十种赚钱方式

我深深的想要通过的自己的SEO技术赚钱。其实,掌握一门技术是次要方面,学会把技术变现才是重中之重,所以你说学习SEO重要吗?挺重要,但绝不是最重要的。学SEO的赚钱方式才是最重要的。那么SEO都有哪些赚钱方式呢?我罗列了十种赚钱…

Compile a native C Android application

2019独角兽企业重金招聘Python工程师标准>>> http://www.cnblogs.com/GoAhead/p/4186707.html 通过上网搜索,你可以发现很多种编译Android native应用的方法.我想说的是,不同的控制台应用, 守护程序(daemon), C/C库,等…

J2SE核心实战开发—— 集合类框架

文档都是基于 实验楼 线上环境制作的,因此文档叙述和截图均与其有关。使用其他实验环境也没有太大影响,知识点的操作是类似的。该系列的课程是在 实验楼 实习所原创的第一个课程,欢迎大家多提意见。 一、实验简介 在Java基础语法中&#xff0…

猫和老鼠java下载安装_tomcat(Java服务器)

Tomcat(Java服务器工具)是一款十分优质的Java服务器软件。在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应…

管道通信

*************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com *************************************************** 什么是管道? 管道是单向的、先进先出的,它把一个进程的输出和另…

Linux 终端下 dstat 监控工具

dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。dstat可…

运用HTML5+CSS3和CSS滤镜做的精美的登录界面

原始出处http://chenjinfei.blog.51cto.com/2965201/774865<!DOCTYPE HTML> <html> <head> <meta http-equiv"Content-Type" content"text/html; charsetgb2312"> <meta http-equiv"description" content"运用C…

MyEclipse使用总结——MyEclipse文件查找技巧 ctrl+shift+R ctrl+H

一、查找文件 使用快捷键【ctrlshiftR】弹出弹出文件查找框&#xff0c;如下图所示&#xff1a; 二、查找包含某个字符串的文件 使用快捷键【ctrlH】在弹出对话框中选File Search选项&#xff0c;然后在第一个文本框中粘贴&#xff08;我一般用粘贴&#xff09;或自已手动录入&…

java实现控件绑定数据源_控件(三)——TreeView控件以XmlDataSource控件为数据源实现简单的绑定...

TreeView控件功能非常强大&#xff0c;今天&#xff0c;我们只是窥其一角。我们实现的例子是&#xff1a;TreeView控件与XmlDataSource控件绑定&#xff0c;然后在网页显示选中项。首先我们添加一个xml&#xff0c;取名为tv.xml。在其中写上如下代码&#xff1a;这时我们在defa…

手机屏幕原理和设计(触摸屏幕)

//本文参考了很多百度百科的知识  随着android手机的流行&#xff0c;手机触摸屏成为一个时尚。再购机的时候&#xff0c;就会有很多人去问手机的触屏是电阻式的还是电容式的呢&#xff1f;但是其实很多人应该是不知道个中的原委的。只是一个感觉电容式的一定要比电阻式的好。…

extjs5(05--主界面上加入顶部和底部区域)

这一节为主界面加一个顶部区域和底部区域。一个管理系统的界面可以粗分为顶部标题部分、中间数据展示和处理的部分、底部备注和状态部分。 在增加这二个区域之前&#xff0c;我们先在MainModel.js中加入一些数据。 1 Ext.define(app.view.main.MainModel, {2 extend: Ext.a…

java mongo 查询数组_MongoDB查询(数组、内嵌文档)

一、简介我们上一篇介绍了db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段&#xff0c;我们今天介绍了对数组和内嵌文档的查询操作&#xff0c;尤其是对$elemMatch 同样可以用在find方法的第二个参数来限制返回数组…

手机触摸屏的分类和原理,供大家选择手机时用

转载自&#xff1a;http://www.51testing.com/?uid-144635-action-viewspace-itemid-216296 必大家很关心的一个问题就是手机的触摸屏寿命是多少吧&#xff01;还有就是到底是电阻式触摸屏&#xff08;诺基亚的&#xff09;好还是电容式触摸屏&#xff08;iPhone等&#xff09…

Actionbarsherlock Demo 浅析 :Overlay

让Actionbar处于覆盖模式&#xff0c;当Activity需要显示大量滚动的内容&#xff0c;尤其是包含图片内容的时候&#xff0c;Overlay模式非常有效。 requestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);//将Actionbar设置为Overlay模式。 getSupportActionBar().setBackg…

浅析C#中构建多线程应用程序

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 引言 1.理解多线程 2. 线程异步与线程同步 3.创建多线程应用程序 3.1通过System.Threa…

58同城高性能移动Push推送平台架构演进之路

2019独角兽企业重金招聘Python工程师标准>>> 本文详细讲述58同城高性能移动Push推送平台架构演进的三个阶段&#xff0c;并介绍了什么是移动Push推送&#xff0c;为什么需要&#xff0c;原理和方案对比&#xff1b;移动Push推送第一阶段&#xff08;单平台&#xff…

java不规则算法_分布式id生成算法 snowflake 详解

背景在复杂分布式系统中&#xff0c;往往需要对大量的数据和消息进行唯一标识。如在支付流水号、订单号等&#xff0c;随者业务数据日渐增长&#xff0c;对数据分库分表后需要有一个唯一ID来标识一条数据或消息&#xff0c;数据库的自增ID显然不能满足需求&#xff0c;此时一个…

Android中下载、安装和卸载(原)

应用场景&#xff1a;在检查版本更新的时候经常需要从服务器端下载然后安装到手机中 使用工具&#xff1a; XUtils&#xff0c;这个开源的框架真的是需要花大把时间去阅读和理解的&#xff0c;十分有用的&#xff0c;on the way &#xff01; fighting&#xff01; 下载&#x…

python对文件进行读写操作

2019独角兽企业重金招聘Python工程师标准>>> python进行文件读写的函数是open或file file_handler open(filename,,mode&#xff09; Table mode 模式描述r以读方式打开文件&#xff0c;可读取文件信息。w以写方式打开文件&#xff0c;可向文件写入信息。如文件存在…