连连看-JAVA课程设计报告

合集下载

基于java的连连看游戏设计与实现的研究报告

基于java的连连看游戏设计与实现的研究报告

基于java的连连看游戏设计与实现的研究报告

随着信息化时代的发展和互联网的普及,网络游戏成为现代生活的重要组成部分之一,连连看游戏作为其中的佼佼者一直深受玩家们的喜爱。本次研究以Java语言为基础,设计并实现了一款基于图形用户界面的连连看游戏,从游戏设计、编程实现以及测试三个方面进行详细介绍。

一、游戏设计

该连连看游戏设计的基础是二维数组。玩家通过鼠标点击选择两个同样的图片,连接它们的线路不能经过其他图标,且路径短优先。游戏共18个关卡,每个关卡的难度依次递增,并拥有不同主题的图片素材。

二、编程实现

该游戏使用Java Swing绘制图形用户界面,整个游戏主要包括五个类:Main、Game、Node、Action、Panel。

1.Main类:主要作用为程序入口。通过创建Game对象启动游戏。

2.Game类:游戏类。在该类中主要完成游戏的初始化、监听器、关卡切换、连通性判断等操作。

3.Node类:节点类。主要用于表示每一个图标,包括坐标以及图标种类等信息。

4.Action类:动作类。主要用于计算玩家所选的两点是否可以连通。

5.Panel类:面板类。界面主要交由Panel完成。在该类中完成了界面布局、游戏信息展示等工作。

三、测试

在游戏的测试过程中,主要测试了游戏的各个关卡能否正常切换和连通性判断能否正常运行。此外,还通过在不同操作系统和不同分辨率下的测试,保证了游戏适用性和兼容性。

四、总结

本次研究成功地设计并实现了一款基于Java的连连看游戏。通过该游戏的设计与实现过程,进一步深入了解了Java编程语言以及Swing界面库的应用与优势。最终测试结果表明,该游戏在各种操作系统和分辨率下均表现出良好的兼容性和适用性,可供广大玩家使用。但仍有一些不足之处,需要进一步完善和优化。在本次基于Java的连连看游戏设计与实现研究中,我们对玩家游戏数据进行了收集与分析。具体数据如下:

连连看-JAVA课程设计报告

连连看-JAVA课程设计报告

课程设计

2013 ~ 2014学年第二学期

设计题目连连看游戏程序

院(系)

专业软件工程

班级学号

学生姓名

设计时间 2014年6月24日~2014年6月27日

指导教师

提交日期 2014年6月27日

目录

目录 (2)

1.课程设计的目的与要求 (3)

1.1课程设计目的与要求 (3)

1.2课程设计内容 (3)

1.3课程设计的实验环境 (3)

1.4课程设计的预备知识 (3)

2.系统模块结构图 (4)

2.1 模块设计 (4)

2.1.1 菜单控制模块 (4)

2.1.2 算法模块 (5)

2.1.3 界面显示模块 (7)

3.详细设计 (9)

3.1总体算法思路 (9)

3.2代码实现 (9)

4.小结 (9)

1.课程设计的目的与要求

1.1课程设计目的与要求

1.掌握JA V A语言中面向对象的概念,并能在程序中熟练运用。

2.了解面向对象程序设计(JA V A)的基本概念以及运用面向对象技术进行程序设计的基本思

想。

3.能正确编写和调试JA V A程序。

4.了解在JA V A环境下进行程序设计的基本思想和方法。

1.2课程设计内容

1.设计一个连连看的游戏程序。

2.在JA V A环境下,将上述程序使用GUI、数据结构等内容完成

3.设计思路:

(1)界面设计

1)初始测试界面可以考虑使用简单的按钮来代表连连看游戏中的图标。

2)布局可以考虑使用GRID方式。

3)设计菜单选择连连看难度等内容,具体可参照QQ连连看,也可自定义。

4)考虑完善界面,例如动画等。

(2)代码设计

1)本设计的核心为练练看算法的设计,可以考虑数据结构中的图的遍历章

java课程设计报告连连看

java课程设计报告连连看

java课程设计报告 连连看

一、课程目标

知识目标:

1. 让学生掌握Java基础语法,包括变量声明、数据类型、运算符等。

2. 使学生了解面向对象编程的基本概念,如类、对象、继承、封装等。

3. 帮助学生掌握Java中常用类库和API的使用,如Array、ArrayList等。

4. 让学生学会运用Java编写图形用户界面(GUI)程序。

技能目标:

1. 培养学生运用Java语言解决实际问题的能力,特别是在连连看游戏设计中的逻辑思维和编程技巧。

2. 提高学生分析问题、设计解决方案的能力,学会使用Java实现游戏的基本功能。

3. 培养学生团队合作精神,学会在项目中分工合作、共同推进项目进度。

情感态度价值观目标:

1. 培养学生对编程的兴趣和热情,激发他们主动探索新技术、新方法的积极性。

2. 培养学生面对问题时的耐心和毅力,让他们体会到编程过程中的成就感。

3. 引导学生树立正确的价值观,认识到编程对于社会发展的重要性,激发他们为我国信息技术产业的发展贡献力量的责任感。

课程性质分析:

本课程为Java编程课程设计,旨在通过实际项目——连连看游戏的设计与实

现,巩固和拓展学生所学Java知识,提高编程实践能力。

学生特点分析:

学生已具备一定的Java基础,了解基本语法和面向对象编程,但实际编程经验不足,需要通过本课程加强实践操作。

教学要求:

1. 注重理论与实践相结合,引导学生将所学知识运用到实际项目中。

2. 鼓励学生积极参与讨论,培养解决问题的能力和团队合作精神。

3. 关注学生个体差异,提供个性化指导,确保每位学生都能在课程中取得进步。

基于Java的图片连连看游戏设计研究

基于Java的图片连连看游戏设计研究

基于Java的图片连连看游戏设计研究

基于Java的图片连连看游戏设计研究

摘要:

连连看(Link Up)游戏是一款经典的益智游戏,通过消除相

同的图案来获得分数。本文基于Java编程语言,对连连看游

戏的设计进行深入研究。通过实现游戏的基本功能和特色功能,对游戏进行优化和改进,提升游戏的用户体验。通过实践验证,本设计具有一定的可行性和实用性。

1. 引言

连连看游戏是一种非常受欢迎的益智游戏,其规则简单,操作容易上手。随着移动互联网的快速发展,游戏市场越来越庞大。设计一款基于Java的图片连连看游戏,可以满足用户对游戏

的需求,同时也是提升自己编程能力的学习机会。

2. 游戏的基本功能设计

2.1 游戏界面设计

游戏主界面分为游戏区和得分区。游戏区由多个方格组成,每个方格里面有一张图案,玩家需要通过点击两个相同的图案来消除它们。得分区显示玩家的得分、剩余时间和游戏关卡等信息。

2.2 游戏规则设计

游戏开始时,系统会随机生成一定数量的图案并填充到游戏区中。玩家需要通过连接相同的图案来消除它们,直到清空游戏区中所有的图案。连接两个图案的连线只能是水平或垂直直线,并且在连线路径上不能有其他图案阻挡。玩家每消除一对图案,得分增加,游戏关卡随之升级。如果无法连接两个图案,玩家可以使用提示功能获取一定的帮助。

3. 游戏特色功能设计

3.1 计时功能

游戏设置了一个倒计时器,玩家需要在规定的时间内完成游戏。当倒计时为0时,游戏结束,系统会显示玩家的得分和游戏结束画面。

3.2 关卡功能

游戏设计了多个关卡,每个关卡的游戏难度和图案数量都不同。玩家需要通过完成前一关卡的要求才能解锁下一关卡。

连连看java程序设计

连连看java程序设计

《高级语言程序设计(2)》课程设计任务书

《高级语言程序设计(2)》课程设计报告

专业:班级:学号:

姓名: 完成日期:指导教师

一、程序设计说明书

【设计题目】

图片连连看游戏程序

【问题描述】

图片连连看游戏是利用java图形用户界面设计而设计的图片连连看游戏界面。它的游戏规则就是选择一对内容相同的图案进行连线,但此连线不能穿跨

其他图案。连线的转折点不能多于两个,如果符合规定则消除此对图案。如果

游戏找不到可连接消除的图案,可以通过鼠标点击重列按钮让它重新排列图

案,也可以通过鼠标重新开始新的游戏,时间结束后游戏自动结束,还可以通

过鼠标退出游戏。

【软件功能】

1 利用awt实现良好的游戏界面,游戏界面尽可能美观。

2 游戏开始时,能产生随机数字和随机位置以及限制的时间。

3 在按动鼠标和键盘时,游戏能玩起来,即能响应鼠标事件。

4 能消去满足条件的含有相同数字的图片。

5 能重列图片顺序。

6 能选择退出游戏和重新再来一局。

【算法思想】

在检验两个图片能否消掉的时候,要让两个图片同时满足两个条件才行,就是两者配对并且连线成功。

分 3 种情况:这三种情况都需要三个检测,这三个检测分别检测一条直路经。

这样就会有三条路经。若这三条路经上都是空按钮,那么就刚好是三种直线(两个转弯点)把两个按钮连接起来了。

(1)、相邻

(2)、若不相邻的先在第一个按钮的同行找一个空按钮。1.找到后看第二个按钮

横向到这个空按钮所在的列是否有按钮。2.没有的话再看第一个按钮到与它同行的那个空按钮之间是否有按钮。3.没有的话,再从与第一个按钮同行的那个空按钮竖向到与第二个按钮的同行看是否有按钮。没有的话路经就通了可以消了.

JAVA课程设计连连看游戏的开发

JAVA课程设计连连看游戏的开发

JAVA课程设计连连看游戏的开发

湖南涉外经济学院课程设计报告

课程名称:程序设计实训

报告题目:连连看游戏的开发

学生姓名:

所在学院:

专业班级:

学生学号:

指导教师:

2013年6月20日

课程设计任务书

报告题目连连看游戏的开发完成

时间

2013-6

学生姓名专业班级职称讲师

总体设计要求和技术要点

设计一个连连看游戏程序,游戏程序的功能需求如下:游戏区是一个包含了多种不同花色游戏牌的二维棋盘,棋盘的行数和列数可以自行定义。每一种花色的游戏牌的数量都是偶数。两张花色相同的游戏牌的之间的路径如果满足以下条件,这两张游戏牌即可消去:路径连线由不多于3条的水平和垂直的线段构成,任何一条线段都不能穿越其他的游戏牌,但可以不在棋盘中,路径两端的游戏牌必须具有相同的花色。游戏只要用鼠标即可进行操作。最初棋盘里布满了游戏牌,游戏开始时进行计时。第一次使用鼠标点击棋盘中的游戏牌,该游戏牌此时为“被选中”,以特殊方式显示;再次以鼠标点击其他游戏牌,若该游戏牌与被选中的游戏牌两者花色相同,且把第一张游戏牌到第二张游戏牌连起来,中间的线段不超过3条,则消掉这一对游戏牌,否则第一张游戏牌恢复成未被选中状态,而第二张游戏牌变成被选中状态。每消去一对游戏牌,应检查棋盘内是否至少还存在一对能消去的游戏牌,如果不存在,则在原有位置对游戏牌进行重排,直到至少存在一对能够消去的游戏牌。如果在指定的时间内消去了所有的游戏牌,游戏胜利;如果时间耗尽还未能消除全部的游戏牌,游戏失败。

要求每人独立完成,使用主流开发工具,尽可能采用面向对象方法,在设计判断两张相同花色游戏牌能否消去的算法时,尽可能使用状态空间搜索算法(如回溯法、分支限界法等),要求代码的具有一定的可读性、可维护性和可扩充性。可以参考教师给定的程序或者其他程序,但程序和报告严禁全盘抄袭。

JAVA连连看课程设计报告

JAVA连连看课程设计报告

滨江学院

实验报告|

|

实验名称JAVA小游戏(连连看)设计

课程名称智能手机程序设计| |

专业班级:信息工程1班

学生姓名:车宇翔

学号:20112309002

指导教师:高超

学期:2013-2014(2)

成绩:

【选题背景】:

连连看游戏经验,玩法简单,休闲,益智,趣味,广受欢迎。

【选题目的】:

学会JAVA程序开发的环境搭建与配置,并在实际运用中学习和掌握JAVA程序开发的全过程。进一步熟悉掌握JAVA程序设计语音的基础内容,如用户图形界面设计、JAVA多线程编程、JAVA数据库编程等。通过亲自动手写程序,拓展知识面,锻炼调试能力。

【系统分析与设计】:

功能分析:实现连连看的基本游戏功能和重置、提示、消除功能

设计:通过对图片的调用以及设置是否可见来完成连连看的效果

【课程设计中碰到的问题及解决方案】:

1.不知道如何进行对数组中两个元素是否可以消除的判断

2.时间条的动态表现

解决方案:

1.对每个相同图案进行循环判断,直到找出满足条件的情况

boolean verticalMatch(Point a, Point b) // 竖线上的判断

boolean horizonMatch(Point a, Point b) // 横线上的判断

2.为了保证动画过程和游戏过程的平行运行,因此将动画分离成一个独立的控件,并且要保证动画有自己单独的线程来运行。当每次用户的分数发生变化时,我们可以使用setScore(int l, int c) 方法同步分数显示的动画效果。

【程序输出结果】:

游戏开始

【程序代码】:

ImageFactory

(完整版)Java连连看毕业课程设计

(完整版)Java连连看毕业课程设计

摘要

关键字:发展,java,连连看,程序设计;

现代科学技术的发展,改变了人类的生活,作为新世纪的大学生,应该站在时代发展的前沿,掌握现代科学技术知识,以适应社会的发展,能够独立完成面临的任务,作一名有创新意识的新型人才。

Java语言的学习热潮并没有因为时间的推移而消退,相反,由于计算机技术的发展所带来的新应用的出现,Java越来越流行,这种情况是以往程序设计语言在其生存周期内所不多见的。Java语言之所以这样长盛不衰,一是因为其众多的技术特点与现今的应用十分合拍,可以覆盖大部分的需求;二是因为SUN公司不断推出新的版本,完善Java自身的功能。有了这两点,Java语言成为程序员首选的程序设计开发工具就在情理之中了。

连连看游戏是一种很流行的小游戏,记得在小时候去游戏厅玩的时候就有两台专门的连连看的机器(当然当时不叫这个名字),一个是连麻将牌、另一个是连水果图片。当时的麻将牌分好几层,相邻层的牌还可以连,看得人眼花缭乱。作为一个java初学者,我所编辑的“悠嘻猴连连看”小游戏,只有几个基本功能:“开始”“再来一局”炸弹“重新开始”“退出”。我所选中给出的游戏界面很漂亮,不过似乎图形只有一层,而且数量也不是很多,只有64张图,降低了不少难度。

目录

摘要.................................................................... I 第1章需求分析.. (1)

1.1功能分析 (1)

1.2流程图 (2)

第2章详细设计 (3)

2.1课程设计目的 (3)

连连看程序设计报告(DOC)

连连看程序设计报告(DOC)

《计算机应用基础与程序设计》三级项目设计报告

项目名称:连连看

班级:2014级软件工程8班

学号:140120010226

姓名:郭鹏飞

日期:2014年12月31日

说明:报告内容可以根据自己的设计实践自行拟定和修改,内容尽量翔实,页数不够可以加页,内容过于单薄将影响得分。建议写报告之前自己上网或在图书馆查阅相关资料进行报告书写方法的自学。

一、项目分析

项目分析简要说明项目主要用户需求、设计思路及模块划分。

1、用户需求分析

在当今社会,人们的生活压力越来越大,也没有太多时间去玩大型的游戏,所以需要一些简单的小游戏来缓解大家的工作和学习压力。而连连看是一款简单,容易理解,大多数人都会玩的小游戏,耗费时间也不是太长,所以特意设计此款游戏来满足用户放松心情的需求。

2、系统设计思路

(1)必须先导入图片,当俩张图片一样时,便可以消除;

(2)窗体基本的菜单栏必须有;

(3)有时间轴控制时间,确定输赢;

(4)当时间到时,不能继续游戏;赢了的话,要保存游戏者姓名和判断胜负的时间;

(5)最好有历史记录,记录下来用户每一次的得分情况。

3、系统模块划分

板块一:图片导入。连连看应该有用来点击的图片,使用户避免因为只有数字而感到无聊。

板块二:图片标记。连连看需要点击俩次图片,所以必须记录第一次点击的图片是哪一个。

板块三:图片连线。该过程是整个游戏的核心过程,是最重要的一个过程,也是耗时最长的一个过程。连线方式主要分为三种方式,即直线连接、一个折点连接、俩个折点连接。如果用户前后点击的图片可以通过三种方式中的任意一种连接,并且图片完全一样,则达到消除图片的效果。

连连看程序设计报告

连连看程序设计报告

《计算机应用基础与程序设计》

三级项目设计报告

项目名称:连连看

班级:2014级软件工程8班

学号:140120010226

姓名:郭鹏飞

日期:2014年12月31日

说明:报告内容可以根据自己的设计实践自行拟定和修改,内容尽量翔实,页数不够可以加页,内容过于单薄将影响得分。建议写报告之前自己上网或在图书馆查阅相关资料进行报告

书写方法的自学。

一、项目分析

项目分析简要说明项目主要用户需求、设计思路及模块划分。

1、用户需求分析

在当今社会,人们的生活压力越来越大,也没有太多时间去玩大型的游戏,所以需要一些简单的小游戏来缓解大家的工作和学习压力。而连连看是一款简单,容易理解,大多数人都会玩的小游戏,耗费时间也不是太长,所以特意设计此款游戏来满足用户放松心情的需求。

2、系统设计思路

(1)必须先导入图片,当俩张图片一样时,便可以消除;

(2)窗体基本的菜单栏必须有;

(3)有时间轴控制时间,确定输赢;

(4)当时间到时,不能继续游戏;赢了的话,要保存游戏者姓名和判断胜负的时间;

(5)最好有历史记录,记录下来用户每一次的得分情况。

3、系统模块划分

板块一:图片导入。连连看应该有用来点击的图片,使用户避免因为只有数字而感到无聊。

板块二:图片标记。连连看需要点击俩次图片,所以必须记录第一次点击的图片是哪一个。

板块三:图片连线。该过程是整个游戏的核心过程,是最重要的一个过程,也是耗时最长的一个过程。连线方式主要分为三种方式,即直线连接、一个折点连接、俩个折点连接。如果用户前后点击的图片可以通过三种方式中的任意一种连接,并且图片完全一样,贝U达到消除图片的效果。

java开发连连看游戏毕业设计开题报告[管理资料]

java开发连连看游戏毕业设计开题报告[管理资料]

毕业设计开题报告

班级:学号:

姓名:

学院:

专业:

设计题目:使用java开发连连看游戏

GUI界面子系统

指导教师:

毕业设计开题报告

1.结合毕业设计情况,根据所查阅的文献资料,撰写2000字左右的文献综述:

文献综述

一、项目来源及背景

小游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通,通过游戏还可以认识更多的朋友。现在小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型了[1]!

连连看游戏是时下广泛流行于青少年之间的网络益智类游戏,因为其游戏规则简单,娱乐性强而具有广泛的娱乐群体。连连看主要测验的是游戏者的反应速度和观察能力。游戏“连连看”,“极简”是游戏的最大特点,玩家只需轻滑指尖将相同的两个图案相连,它们就立即消失,规则简单容易上手[2]。游戏速度节奏快,画面清晰可爱,老少皆宜。不管你走到哪个游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏。丰富的道具和公共模式的加入,增强游戏的竞争性。多样式的图案,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。使用新颖的连击积分规则,使游戏玩家在体会连击的快感后,同时对自己的游戏速度,更有挑战性和追求极速的欲望[3]。比如《天天连萌》连连看,是腾讯公司专为广大微信和手机QQ用户打造的一款超萌手机游戏。在游戏中,鲜艳欲滴的草莓、令人唇齿留香的烤虾、鲜美至极的香菇和藕片等美食将纷纷登场。除了游戏本身带来的乐趣,玩家还可以从中同时获得触觉、视觉、味觉的极妙享受。是吃货们、游戏大人们不可错过的一款“美味”精品。

java课程设计报告连连看

java课程设计报告连连看

java课程设计报告连连看

一、课程目标

知识目标:

1. 学生能掌握Java基础语法,包括变量声明、数据类型、运算符和表达式。

2. 学生能理解并运用基本的控制结构,如顺序结构、分支结构和循环结构。

3. 学生能掌握数组的使用,包括一维数组、二维数组的定义和操作。

4. 学生能理解面向对象编程的基本概念,如类、对象、封装、继承和多态。技能目标:

1. 学生能运用所学知识设计并实现一个简单的“连连看”游戏,展示其逻辑思维和编程能力。

2. 学生通过编写代码,培养解决问题的能力,学会分析问题、设计算法和数据结构。

3. 学生能使用调试工具检查并修正程序中的错误,提高程序调试能力。

情感态度价值观目标:

1. 学生培养对编程的兴趣,激发学习Java的热情,树立学习信心。

2. 学生养成合作学习、团队协作的良好习惯,培养沟通能力和团队精神。

3. 学生认识到编程对解决实际问题的价值,提高对信息技术的认识,培养创新意识和实践能力。

课程性质:本课程为实践性较强的学科,结合理论知识与实际操作,培养学生的编程能力和逻辑思维。

学生特点:学生为初中年级,具备一定的逻辑思维和数学基础,对新鲜事物充

满好奇,但注意力容易分散,需要激发学习兴趣。

教学要求:结合学生特点,教师应注重启发式教学,引导学生主动探索,关注个体差异,提高学生的实践操作能力和创新能力。通过本课程的学习,使学生能够将所学知识应用于实际编程中,达到学以致用的目的。后续教学设计和评估将围绕以上课程目标展开,确保学生达到预期学习成果。

二、教学内容

1. Java基础语法

- 变量声明与赋值

JAVA实现连连看课程设计

JAVA实现连连看课程设计

目录

第一章系统描述............... ............... .. (1)

第二章分析与设计............... ............... (2)

一、功能分析............. ............... . (2)

二、流程图............. ............... (2)

三、设计要求............. ............... . (3)

1、实验环境............. ............... .. (3)

2、实验预备知识............. ............... . (3)

3、课程设计要求............. ............... . (3)

第三章连连看系统设计............. ............... (4)

一、算法设计............. ............... .. (4)

二、类的实现............. ............... .. (5)

三、方法的实现............. ............... (5)

第四章测试分析............. ............... (5)

一、运行情况............. ............... .. (5)

二、测试计划及分析............. ............... .. (9)

1、检验的先后顺序............. ............... .. (9)

基于java的连连看游戏设计

基于java的连连看游戏设计

毕业设计(论文)任务书

注:本任务书要求一式两份,一份系部留存,一份报教务处实践教学科。

摘要

游戏发展至今已经有30多年历史,在这个短暂的时期里,随着硬件水平的提高,游戏开发新技术层出不穷,经典游戏比比皆是。大部分的人一听到连连看游戏,通常就会想到这是一个小游戏。

连连看游戏,是指在一个区域内,分布着许多不同的图片,通过点击两张相同的图片并符合一定的规则消除它们的一个游戏。我们最常见的是在QQ游戏大厅里的QQ连连看,网络上也有许多各式各样的单机版连连看游戏。在游戏的过程中,可以考虑下如何使用自己掌握的程序去实现游戏的效果,并尝试去开发属于自己的连连看,这是一件十分惬意的事情。在本章中,我们将详细的教大家如何使用Java去开发一款属于自己的单机连连看。

本游戏采用JAVA语言开发,以MyEclipse为开发平台。游戏主界面是基于GUI(图形用户界面)的开发,使得游戏界面简单清晰。并调用了其中的一些函数,完成了事件的触发功能。希望通过这次开发设计出的连连看小游戏,给大家的生活带来一点乐趣。

游戏通过定义动态的二维数组,根据一定的算法实现规定的路径判断。

关键词:连连看、小游戏、JAVA、GUI、数组

Abstract

Game development has 30 years of history, in this short period, along with the hardware level, game development new technology emerge in an endless stream, classic games meet the eye everywhere. Most of the people hear Lianliankan game, they usually think this is a small game.

课程设计报告Java实现游戏连连看(有源代码)

课程设计报告Java实现游戏连连看(有源代码)

2.4流程图如下

图2 主函数流程图

图3 游戏进行流程图

图4 使用炸弹流程图

图5 计算时间流程图

图6 开始游戏后画面

用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归0),以完成用户以后的选取工作。如果用户选择的是相同的图片(如第八行第二列和第八行第三列),那么系统会消除这两张图片,并使鼠标记数为0,并消除这两张图片的标记,使里面的图片被标记在外面。以便用户可以进行以后的选择。

图7 消除三对后画面

用户也可使通过使用“炸弹”功能进行消除图片。方法是点击菜单中的“炸弹”选项使用,点击后如果界面上有两张可以相连的相同图片就随机消除两张可以相连的相同的图片(如第一行第一列河第一行第四列)。

图8 使用炸弹后画面

炸弹数目是有限的,默认数目为三,每使用一次“炸弹”功能,炸弹数目就会自动减一,当炸弹数目为零时(使用三次“炸弹”功能)。并且用户想再次使用炸弹时,系统会弹出对话框提示用户,并把菜单中“炸弹”选项变为灰色(用户不可使用)。

图9 炸弹使用光后画面

当系统开始游戏后,系统会在后台记录时间,如果在用户还没有消除所有图片时,系统时间到了,那么系统会弹出对话框,提示用户,时间到了,游戏失败。

图10 时间到时的画面

当用户点击确定后,系统还会弹出对话框询问用户是否重新开始,用户选择“是”时,系统会开始新游戏;当用户选择“否”时,系统会返回开始界面;当用户选择“取消”时,系统会返回提示时间到的界面。

图11 点击确定时的画面

如果在时间未到时,用户使所有的图片都消失(两两消除,直到最后一对),系统会提示用户游戏以通过,点“确定”后回到开始界面。

连连看_java课程设计报告

连连看_java课程设计报告

《连连看》项目设计报告专业:软件工程

班级:07级2班

姓名:

二00九年七月二十一日

目录

1.项目设计目的、意义 (3)

2.项目设计概况 (3)

3.设计方案及内容 (4)

4.结论 (7)

5.小组成员分工 (7)

(要求:给出一级目录,宋体加粗,四号字,1.5倍行距。)

(报告正文部分):

(要求:正文部分一律用小四号字,宋体,1.5倍行距。一级大标题靠左,加粗。二级大标题靠左,不加粗。)

一、项目设计目的、意义

综合运用所学Java以及面向对象的知识,设计出实用性,可操作性的连连看游戏程序。通过设计此项目,巩固这两年来学的知识,提高面向对象的编程能力,锻炼了逻辑思维能力,提高动手实验能力,也提高了团队合作项目开发的能力。这些项目设计带来的一些经验为将来我们的实际工作打下一定的基础。

二、项目设计概况

1、项目设计前的准备。主要包括:首先,确定项目的主题方案。看看别人写的游戏程序。我们是参考了QQ游戏的连连看,以它为模板来写这个程序的。QQ的连连看是网络版的,由于人力有限,我们就去掉了网络功能,做成单机版的游戏。然后,分析游戏规则确定大致的游戏算法。最后确定程序所需要的模块,大致分为三个主要的模块,游戏显示,游戏控制,游戏核心算法。其他模块在开发设计的过程中可以再添加。

2、编写代码实现游戏的算法。首先设计游戏界面,找要使用的图片。然后编写其中的算法,算法包括将游戏地图转化为数组来描述,初始化游戏地图,对数组中两个元素是否可以消除的判断,两个可消除的元素以何种方式连接,自动寻找匹配的点等等。

3、将界面和算法结合起来,并为界面添加功能。如开始游戏,刷新,演示等等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

2013 ~ 2014学年第二学期

设计题目连连看游戏程序

院(系)

专业软件工程

班级学号

学生姓名

设计时间 2014年6月24日~2014年6月27日

指导教师

提交日期 2014年6月27日

目录

目录 (2)

1.课程设计的目的与要求 (3)

1.1课程设计目的与要求 (3)

1.2课程设计内容 (3)

1.3课程设计的实验环境 (3)

1.4课程设计的预备知识 (3)

2.系统模块结构图 (4)

2.1 模块设计 (4)

2.1.1 菜单控制模块 (4)

2.1.2 算法模块 (5)

2.1.3 界面显示模块 (7)

3.详细设计 (9)

3.1总体算法思路 (9)

3.2代码实现 (9)

4.小结 (9)

1.课程设计的目的与要求

1.1课程设计目的与要求

1.掌握JA V A语言中面向对象的概念,并能在程序中熟练运用。

2.了解面向对象程序设计(JA V A)的基本概念以及运用面向对象技术进行程序设计的基本思

想。

3.能正确编写和调试JA V A程序。

4.了解在JA V A环境下进行程序设计的基本思想和方法。

1.2课程设计内容

1.设计一个连连看的游戏程序。

2.在JA V A环境下,将上述程序使用GUI、数据结构等内容完成

3.设计思路:

(1)界面设计

1)初始测试界面可以考虑使用简单的按钮来代表连连看游戏中的图标。

2)布局可以考虑使用GRID方式。

3)设计菜单选择连连看难度等内容,具体可参照QQ连连看,也可自定义。

4)考虑完善界面,例如动画等。

(2)代码设计

1)本设计的核心为练练看算法的设计,可以考虑数据结构中的图的遍历章

节,合理设计算法,将界面中各按钮的分布映射入数学矩阵进行路径规划。

(可以上网搜索相关算法)。

2)完成连连看游戏的图形、算法等代码的设计。

4.实验步骤(包括操作方法、数据处理)

(1)界面设计

(2)算法设计

(3)代码设计

1.3课程设计的实验环境

硬件要求能运行Windows xp/7操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境, ECLIPSE开发工具。

1.4课程设计的预备知识

熟悉JAVA语言及ECLIPSE开发工具。

2.系统模块结构图

根据对“连连看”游戏的分析,该游戏可分为三个模块:算法模块、界面显示模块、控制模块。如下图3-1所示:

2.1 模块设计

2.1.1控制模块

(1). 开始游戏

(2). 游戏结束后重新开始

(3). 提示

(4). 不能操作后自动洗牌

如下图3-5所示

2.1.2 算法模块

在检验两个方块能否消掉的时候,我们要让两个方块同时满足两个条件才行,就是两者配对并且连线成功。如图4-3所示

分 3 种情况:从下面的这三种情况,我们可以知道,需要三个检测,这三个检测分别检测一条直路经。这样就会有三条路经。若这三条路经上都是空按钮,那么就刚好是三种直线(两个转弯点)把两个按钮连接起来了。

(1)、相邻

(2)、两个按钮分别横向延伸,如果有一条纵向线能将延伸区相连则可消除

(3)、若(2)失败两个按钮分别纵向延伸,如果有一条横向线能将延伸区相连则可消除

若以上三步都失败,说明这两个按钮不可以消去。

具体判断流程见下图

(4)、图片成对加载并打乱

将图片成对的显示在场景中,并打乱主要用的是Map类。在该类中,用了一个数组以数字标记的形式来记录加载的图片是哪种图片,在每次加载图片的时候是一张图片连续加载四次,以保证加载图片成两对。然后用数组的随机方法将数组打乱。

(5)、判断两图是否能够相连

两图能相连的所有情况:

(1)(2)(3)

2.1.3 界面显示模块

1、提示

2、统计分数

3、提示是否进行下一局或者退出

3.详细设计

3.1总体算法思路

由两个确定的按钮。若这两个按钮的数字相等,就开始找它们相连的路经。这个找路经

* 分3种情况:(从下面的这三种情况,我们可以知道,需要三个检测,这三个检测分别检测一条直路经。这样就会有

* 三条路经。若这三条路经上都是空按钮,那么就刚好是三种直线(两个转弯点)把两个按钮连接起来了)

* 1.相邻

*

* 2. 若不相邻的先在第一个按钮的同行找一个空按钮。1).找到后看第二个按钮横向到这个空按钮

* 所在的列是否有按钮。2).没有的话再看第一个按钮到与它同行的那个空按钮之间是否有按钮。3).没有的话,再从

* 与第一个按钮同行的那个空按钮竖向到与第二个按钮的同行看是否有按钮。没有的话路经就通了,可以消了.

*

* 3.若2失败后,再在第一个按钮的同列找一个空按钮。1).找到后看第二个按钮竖向到这个空按钮所在的行是否有按钮。

* 2).没有的话,再看第一个按钮到与它同列的那个空按钮之间是否有按钮。3).没有的话,再从与第一个按钮同列的

* 那个空按钮横向到与第二个按钮同列看是否有按钮。没有的话路经就通了,可以消了。*

* 若以上三步都失败,说明这两个按钮不可以消去。

*

3.2代码实现

1、MainFrame.java

jbPrompt.addActionListener(new ActionListener(){//提示按钮增加行为监听

@Override

public void actionPerformed(ActionEvent arg0) {

point sp = new point();

point ep = new point();

game.Tip(sp, ep);

jlb[sp.x-1][sp.y-1].setBorder(BorderFactory.createLineBorder(Color.black));

jlb[ep.x-1][ep.y-1].setBorder(BorderFactory.createLineBorder(Color.black));

相关文档
最新文档