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…

Oracle if else if for case

------------------游标forif else if DECLARE cursor s_cursor is SELECT * from emp;--定义游标 beginfor r in s_cursor loop--循环if r.deptno10--if判断then dbms_output.put_line(名字:||r.ename||sal||r.sal);else if r.deptno20then dbms_output.put_line(名字:||r.ena…

java汉字转化accic_Java自主学习贴

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼2019-08-25链表学习续实现数据内容查询功能interface ILink{//创建一个接口用于定义方法标准//定义增加方法public void add(E e) ;//定义获取元素个数方法public int getLength();//判断是否为空集合public boolean isEmpty();//定…

SEO的十种赚钱方式

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

sizeof详解

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** sizeof&#xff08;&#xff09;功能&#xff1a;计算数据空间的字节数 #include<…

关于C/C++中的“auto”关键字

C/C 98标准 C03标准 早在C98标准中就存在了auto关键字&#xff0c;那时的auto用于声明变量为自动变量&#xff0c;自动变量意为拥有自动的生命期。此用法是多余的&#xff0c;因为即使定义变量时不加"auto"&#xff0c;变量也会有自动的生命期。用法如下&#xff1a;…

学java的人都是什么性格_什么样的人适合学习Java编程

展开全部下面咱们说一下Java更适合那些人群第一种&#xff0c;理工科专业。如果你大学时学的是理工科专业&#xff0c;对Java有一定的了解&#xff0c;那么你还是比较适合学Java的&#xff0c;如果你大学期间学过Java那就更好了&#xff0c;现在再学习只会事半功倍。因为学习Ja…

C++浅拷贝和深拷贝的区别

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** c默认的拷贝构造函数是浅拷贝 浅拷贝就是对象的数据成员之间的简单赋值&#xff0c; 如…

Innodb ibdata数据文件误删,如何恢复

Innodb的ibdata数据文件误删除后的操作流程&#xff1a;注意&#xff1a;误删除后&#xff0c;你的数据库是还可以工作的&#xff0c;数据照样可以写入&#xff0c;切记&#xff0c;千万不要把mysqld进程杀死&#xff0c;否则就没法挽救了。首先找到mysqld的进程pid&#xff0c…

redis的java客户端名称_java里常用的redis客户端简介

zepto返回顶部动画点击返回顶部 function goTop(acceleration, time) { acceleration acceleration || 0.1; time time || 16; v ...Jetty Maven Plugin配置官方文档:http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html#maven-config-https 1 ...p…

Python初步

准备在工作之余看看Python的东西 收录一些资料 Python初学者&#xff08;零基础学习Python、Python入门&#xff09;常见问题&#xff1a;书籍推荐、资料、社区 http://blog.csdn.net/xiaowanggedege/article/details/8566606 小甲鱼零基础入门学习Python(全87集) http://pan.b…

java arraylist string_在Java ArrayList String中使用contains

你是对的。 ArrayList.contains()testingequals()&#xff0c;而不是对象标识&#xff1a;返回true当且仅当此列表包含至less一个元素e&#xff0c;使得(o null&#xff1f;e null&#xff1a;o.equals(e))如果你有一个NullPointerExceptionexception&#xff0c;请validatio…

Xcode7,ios9 issue ,warning合集

1.Downcast from UIViewController only unwraps optionals;did you mean to use!? 原&#xff1a; let view mainStory.instantiateInitialViewController() as! UIViewController window?.rootViewController view 修改&#xff1a; if let view mainStory.instantiate…

高中数学排列组合公式/排列组合计算公式

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** 排列 P------和顺序有关 组合 C -------不牵涉到顺序的问题 排列分顺序,组合不分 例如…

矩阵快速幂 POJ 3070 Fibonacci

题目传送门 1 /*2 矩阵快速幂&#xff1a;求第n项的Fibonacci数&#xff0c;转置矩阵都给出&#xff0c;套个模板就可以了。效率很高啊3 */4 #include <cstdio>5 #include <algorithm>6 #include <cstring>7 #include <cmath>8 using namespace st…

java 接口和抽象类的区别6_JAVA基础篇-接口和抽象类的区别

.前言JAVA是一种面向对象语言,具备抽象(Abstract),封装(packing),继承(extends),多态(polymorphic)四大特性。我们重点从oop思想∠来分析。.在面向对象的四大特性的作用体现抽象:父类为子类提供一些属性和行为&#xff0c;子类根据业务需求实现具体的行为(这时抽象类派上了用场…

笔试常见的智力题(附答案)

*************************************************** 更多精彩&#xff0c;欢迎进入&#xff1a;http://shop115376623.taobao.com *************************************************** A.逻辑推理 1、你让工人为你工作7天&#xff0c;给工人的回报是一根金条。金条…

Compile a native C Android application

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

could not build module ‘Foundation’, could not build module ‘UIKit’……23个错误

pch文件加入 #import <Availability.h> #ifndef __IPHONE_3_0 #warning "This project uses features only available in iOS SDK 3.0 and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> 转载于:htt…

java中钩子函数回调函数_钩子函数 和回调函数

标签&#xff1a;http://blog.csdn.net/lipeionline/article/details/6369657 转自也可以这样&#xff0c;更容易理解&#xff1a;回调函数就好像是一个中断处理函数&#xff0c;系统在符合你设定的条件时自动调用。为此&#xff0c;你需要做三件事&#xff1a;1. 声明&…