连连看-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)本设计的核心为练练看算法的设计,可以考虑数据结构中的图的遍历章节,合理设计算法,将界面中各按钮的分布映射入数学矩阵进行路径规划。
(可以上网搜索相关算法)。
2)完成连连看游戏的图形、算法等代码的设计。
4.实验步骤(包括操作方法、数据处理)(1)界面设计(2)算法设计(3)代码设计1.3课程设计的实验环境硬件要求能运行Windows xp/7操作系统的微机系统。
JAVA程序设计语言及相应的集成开发环境, ECLIPSE开发工具。
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. 关注学生个体差异,提供个性化指导,确保每位学生都能在课程中取得进步。
二、教学内容1. Java基础语法回顾:变量声明、数据类型、运算符、控制流程(条件语句、循环语句)。
教材章节:第一章至第三章2. 面向对象编程:类与对象、构造方法、封装、继承、多态。
教材章节:第四章至第六章3. Java常用类库和API:String类、Array、ArrayList、泛型。
连连看游戏java课程设计
连连看游戏java课程设计一、课程目标知识目标:1. 理解Java语言中面向对象编程的基本概念,如类、对象、继承、封装等;2. 学会使用Java编写连连看游戏的界面布局和逻辑控制;3. 掌握运用Java集合框架处理游戏数据结构;4. 了解Java事件处理机制,并能应用于游戏交互。
技能目标:1. 能够运用面向对象的方法设计游戏类和对象,实现游戏功能;2. 独立编写连连看游戏的界面和逻辑代码,完成一个完整的Java游戏项目;3. 学会使用集合框架优化游戏数据存储和访问;4. 提高问题分析、程序设计和调试能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发创造力和创新能力;2. 培养学生合作学习、分享交流的良好习惯,提高团队协作能力;3. 强化学生的逻辑思维能力,提高解决实际问题的能力;4. 培养学生面对挑战时的积极态度,勇于克服困难,持续优化和完善自己的作品。
课程性质:本课程为信息技术学科选修课程,以项目为导向,注重实践操作和团队合作。
学生特点:学生具备一定的Java编程基础,对游戏开发有浓厚兴趣,具有较强的动手能力和创新能力。
教学要求:结合实际项目需求,引导学生运用所学知识解决问题,注重培养学生的编程能力和团队协作能力,提高学生的综合素质。
通过本课程的学习,使学生能够独立完成一个连连看游戏的Java课程设计。
二、教学内容1. 面向对象编程基础复习:复习Java中类与对象、继承、封装等基本概念,参考教材第二章。
2. 游戏界面设计:学习使用Java的Swing库设计连连看游戏界面,包括菜单、按钮、网格布局等,结合教材第四章。
- 界面组件及布局管理器;- 事件监听器和处理机制;- 图形和图标的使用。
3. 游戏逻辑实现:学习实现游戏核心逻辑,如数据结构设计、游戏规则、配对消除等,参考教材第六章。
- 集合框架的使用;- 算法实现(如查找、排序);- 游戏流程控制。
4. 游戏对象设计:设计游戏中的对象类,如卡片类、游戏引擎类等,运用封装、继承等面向对象原则,参考教材第三章。
数字连连看java课程设计
数字连连看java课程设计一、课程目标知识目标:1. 让学生理解Java语言中数组的基础知识,掌握其使用方法;2. 学会使用Java编写简单的图形用户界面(GUI)程序;3. 掌握数字连连看游戏的逻辑设计,理解其算法实现。
技能目标:1. 能够运用Java数组存储和处理数字连连看游戏数据;2. 独立编写数字连连看游戏的代码,实现游戏的基本功能;3. 学会使用Java Swing组件设计游戏界面,提高编程实践能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发他们学习Java的热情;2. 培养学生团队协作能力,学会与他人共同解决问题;3. 培养学生面对挑战时的积极态度,提高克服困难的信心。
课程性质:本课程为实践性较强的编程课程,通过数字连连看游戏的设计与实现,帮助学生巩固Java基础知识,提高编程实践能力。
学生特点:本课程针对具有一定Java基础知识的初中生,他们对编程有一定兴趣,善于观察和思考,但可能缺乏实际编程经验。
教学要求:课程应注重理论与实践相结合,以学生为主体,引导学生主动探究,培养他们解决问题的能力。
教学过程中,注重分层教学,关注学生个体差异,确保每个学生都能在原有基础上得到提高。
通过课程学习,使学生在知识、技能和情感态度价值观方面取得具体的学习成果。
二、教学内容1. Java数组的基本概念与使用方法,包括数组的声明、初始化和访问;2. Java Swing图形用户界面编程基础,如JFrame、JPanel、JButton等组件的使用;3. 数字连连看游戏逻辑设计,涵盖游戏规则、数据存储、匹配算法等;4. 编程实现数字连连看游戏,包括界面设计、事件处理、游戏流程控制等。
教学内容安排:第一课时:复习Java数组知识,介绍数字连连看游戏规则;第二课时:学习Java Swing组件,设计数字连连看游戏界面;第三课时:编写数字连连看游戏逻辑,实现基本功能;第四课时:优化游戏代码,进行测试与调试。
JAVA课程设计连连看游戏的开发
JAVA课程设计连连看游戏的开发湖南涉外经济学院课程设计报告课程名称:程序设计实训报告题目:连连看游戏的开发学生姓名:所在学院:专业班级:学生学号:指导教师:2013年6月20日课程设计任务书报告题目连连看游戏的开发完成时间2013-6学生姓名专业班级职称讲师总体设计要求和技术要点设计一个连连看游戏程序,游戏程序的功能需求如下:游戏区是一个包含了多种不同花色游戏牌的二维棋盘,棋盘的行数和列数可以自行定义。
每一种花色的游戏牌的数量都是偶数。
两张花色相同的游戏牌的之间的路径如果满足以下条件,这两张游戏牌即可消去:路径连线由不多于3条的水平和垂直的线段构成,任何一条线段都不能穿越其他的游戏牌,但可以不在棋盘中,路径两端的游戏牌必须具有相同的花色。
游戏只要用鼠标即可进行操作。
最初棋盘里布满了游戏牌,游戏开始时进行计时。
第一次使用鼠标点击棋盘中的游戏牌,该游戏牌此时为“被选中”,以特殊方式显示;再次以鼠标点击其他游戏牌,若该游戏牌与被选中的游戏牌两者花色相同,且把第一张游戏牌到第二张游戏牌连起来,中间的线段不超过3条,则消掉这一对游戏牌,否则第一张游戏牌恢复成未被选中状态,而第二张游戏牌变成被选中状态。
每消去一对游戏牌,应检查棋盘内是否至少还存在一对能消去的游戏牌,如果不存在,则在原有位置对游戏牌进行重排,直到至少存在一对能够消去的游戏牌。
如果在指定的时间内消去了所有的游戏牌,游戏胜利;如果时间耗尽还未能消除全部的游戏牌,游戏失败。
要求每人独立完成,使用主流开发工具,尽可能采用面向对象方法,在设计判断两张相同花色游戏牌能否消去的算法时,尽可能使用状态空间搜索算法(如回溯法、分支限界法等),要求代码的具有一定的可读性、可维护性和可扩充性。
可以参考教师给定的程序或者其他程序,但程序和报告严禁全盘抄袭。
工作内容及时间进度安排第11周~第12周:对需要开发的软件进行需求分析和软件设计第13周:论证方案设计第14周~第16周:程序设计第17周:测试、修改程序,撰写报告第18周:验收答辩课程设计成果1.与设计内容对应的软件程序2.课程设计总结报告摘要近年来,Java作为一种新的编程语言,以其可移植性和平台无关性等优点,得到了广泛地应用,特别是Java与万维网的完美结合,使其成为网络编程和嵌入式编程领域的首选编程语言。
java连连看课程设计
java连连看课程设计一、课程目标知识目标:1. 学生能理解Java连连看游戏的基本原理和规则。
2. 学生能掌握运用Java编程语言实现连连看游戏的界面布局和基本逻辑。
3. 学生能掌握使用二维数组存储和管理游戏数据的方法。
4. 学生能理解并能运用事件监听机制实现游戏交互。
技能目标:1. 学生能运用所学知识,独立编写并调试Java连连看游戏的简单版本。
2. 学生能通过分析问题,设计合理的算法解决问题,如使用深度优先搜索或广度优先搜索进行路径查找。
3. 学生能运用调试技巧找出并修正程序中的错误,提高代码质量。
情感态度价值观目标:1. 学生培养对编程的兴趣,激发探究精神和创新意识。
2. 学生通过团队协作,培养沟通能力和团队精神,增强合作解决问题的能力。
3. 学生在游戏编程实践中,体验编程带来的成就感,增强自信心。
课程性质:本课程为实践性较强的Java编程课程,通过设计与实现连连看游戏,让学生将所学理论知识应用于实际编程中,提高学生的编程实践能力。
学生特点:学生处于初中年级,对游戏有较高的兴趣,具备一定的编程基础,喜欢动手实践。
教学要求:教师应注重理论与实践相结合,引导学生主动探究,培养学生的编程思维和解决问题的能力。
在教学过程中,关注学生的个体差异,提供个性化指导,确保学生能够达到预定的学习目标。
通过分解课程目标为具体的学习成果,便于后续的教学设计和评估。
二、教学内容1. 游戏原理介绍:讲解连连看游戏的基本规则和原理,引导学生理解游戏的逻辑结构。
- 教材章节:第一章 Java概述,第三节 Java程序的基本结构。
2. 界面设计与实现:教授如何使用Java的Swing图形用户界面工具包设计连连看游戏的界面。
- 教材章节:第五章 图形用户界面,第一节 Swing概述,第二节 常用Swing组件。
3. 数据存储与处理:使用二维数组存储游戏数据,讲解如何进行数据的初始化和管理。
- 教材章节:第四章 数组,第一节 数组的概念,第二节 二维数组。
连连看实验报告
一、实验目的1. 熟悉并掌握使用Java语言进行图形界面编程的基本方法。
2. 理解并运用面向对象编程思想,提高编程能力。
3. 掌握连连看游戏的基本原理和实现方法。
4. 培养团队合作能力和创新意识。
二、实验内容1. 熟悉Java语言的基本语法和面向对象编程思想。
2. 使用Java Swing库开发图形界面。
3. 实现连连看游戏的基本功能,包括游戏界面、数据结构、逻辑算法等。
三、实验环境1. 操作系统:Windows 102. 开发工具:Eclipse3. 编程语言:Java四、实验步骤1. 创建Java项目,命名为“连连看游戏”。
2. 设计游戏界面,包括游戏区域、时间显示、分数显示等。
3. 定义数据结构,用于存储游戏中的图片和匹配关系。
4. 编写游戏逻辑算法,包括初始化游戏、随机生成图片、匹配图片等。
5. 实现游戏控制,包括鼠标点击事件、图片移动、匹配判断等。
6. 编写游戏结束判断和结果显示。
五、实验结果与分析1. 实验结果通过以上步骤,成功开发了一个连连看游戏。
游戏界面美观,功能完善,可以满足用户的基本需求。
2. 实验分析(1)游戏界面设计:采用Java Swing库中的JPanel、JLabel等组件,实现了游戏界面的布局。
通过设置背景图片、颜色等属性,使游戏界面更具吸引力。
(2)数据结构:使用二维数组存储游戏中的图片,每行每列代表一个位置。
通过遍历数组,判断相邻图片是否可以匹配。
(3)逻辑算法:在游戏开始时,随机生成图片并存储到数组中。
当用户点击一个图片时,判断其相邻图片是否可以匹配。
如果可以匹配,则将这两个图片移动到一起,并更新分数和时间。
(4)游戏控制:通过监听鼠标点击事件,实现图片的移动和匹配判断。
当图片移动到一起时,判断是否匹配,并更新游戏状态。
六、实验总结1. 通过本次实验,掌握了Java语言的基本语法和面向对象编程思想,提高了编程能力。
2. 熟悉了Java Swing库在图形界面编程中的应用,为以后开发类似项目奠定了基础。
连连看java代码课程设计
连连看java代码课程设计一、课程目标知识目标:1. 理解Java基本语法,掌握连连看游戏的核心算法;2. 学会使用Java编写图形用户界面,实现游戏窗口的布局与设计;3. 了解Java事件处理机制,能编写鼠标点击事件监听器。
技能目标:1. 培养学生运用Java语言解决实际问题的能力;2. 提高学生分析问题、设计算法、编写代码、调试程序的综合技能;3. 培养学生的创新思维和团队协作能力,通过分组完成任务,提高沟通与协作效率。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性,增强自信心;2. 培养学生面对困难时,保持积极的心态,勇于尝试,不断克服挫折;3. 培养学生的集体荣誉感,通过团队协作,共同完成任务,体验成功的喜悦。
分析课程性质、学生特点和教学要求,本课程将目标分解为以下具体学习成果:1. 学生能独立完成连连看游戏的Java代码编写,实现游戏的基本功能;2. 学生能通过小组合作,共同优化游戏界面,提升用户体验;3. 学生在课程学习过程中,能主动探究新知识,勇于挑战更高难度的编程任务;4. 学生在学习过程中,培养良好的编程习惯,注重代码规范和团队协作。
二、教学内容根据课程目标,教学内容主要包括以下几部分:1. Java基本语法:- 数据类型、变量、常量- 运算符、表达式、流程控制(分支、循环)- 数组、字符串2. Java图形用户界面设计:- Swing图形用户界面库简介- JFrame、JPanel容器组件- 布局管理器(边界布局、流布局等)3. Java事件处理机制:- 事件监听器、事件源- 鼠标事件、键盘事件- 事件适配器、事件处理线程4. 连连看游戏核心算法:- 游戏规则、数据结构设计- 算法实现(路径查找、消去逻辑等)- 游戏界面与逻辑分离教学大纲安排如下:1. 第一阶段(2课时):Java基本语法复习与巩固2. 第二阶段(2课时):Swing图形用户界面设计3. 第三阶段(2课时):Java事件处理机制4. 第四阶段(4课时):连连看游戏核心算法分析与实现教学内容与教材关联章节:1. 《Java程序设计》第3章:Java基本语法2. 《Java程序设计》第6章:Swing图形用户界面设计3. 《Java程序设计》第7章:Java事件处理机制4. 《Java程序设计》实例分析:连连看游戏案例三、教学方法针对本课程的教学目标和内容,采用以下多样化的教学方法:1. 讲授法:- 对于Java基本语法、Swing图形用户界面设计、Java事件处理机制等基础知识点,采用讲授法进行教学,使学生在短时间内掌握必要的理论知识;- 讲授过程中注重启发式教学,引导学生主动思考问题,提高课堂互动性。
JAVA连连看游戏课程设计
JAVA连连看游戏课程设计一、教学目标本课程的目标是让学生掌握Java编程基础,学会使用Java语言编写简单的连连看游戏。
通过本课程的学习,学生应达到以下目标:1.知识目标:–理解Java语言的基本语法和编程概念;–掌握面向对象编程的基本思想和方法;–了解常用的数据结构和算法。
2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程思想解决实际问题;–能够独立完成连连看游戏的设计和实现。
3.情感态度价值观目标:–培养学生的编程兴趣和自信心;–培养学生解决问题的能力和创新精神;–培养学生团队协作和沟通交流的能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Java语言基础:介绍Java语言的基本语法、数据类型、运算符、控制结构等。
2.面向对象编程:讲解类的定义、属性、方法、继承、多态等概念,并引导学生学会使用面向对象的思想解决问题。
3.常用数据结构和算法:介绍数组、链表、栈、队列等基本数据结构,以及排序、查找等常用算法。
4.连连看游戏设计与实现:引导学生运用所学知识设计和实现一个简单的连连看游戏,包括游戏界面设计、逻辑处理、算法实现等。
三、教学方法本课程采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:教师讲解基本概念、语法和算法,引导学生掌握知识要点。
2.案例分析法:通过分析实际案例,让学生学会运用所学知识解决实际问题。
3.实验法:学生动手编写代码,实践所学知识,培养编程能力和解决问题的能力。
4.小组讨论法:学生分组讨论,共同完成游戏设计,培养团队协作和沟通交流的能力。
四、教学资源本课程所需教学资源包括:1.教材:《Java编程入门》或其他同类教材;2.参考书:《Java核心技术》等;3.多媒体资料:PPT、教学视频等;4.实验设备:计算机、网络等。
教学资源应支持教学内容和教学方法的实施,丰富学生的学习体验,提高学习效果。
五、教学评估为了全面、客观地评估学生的学习成果,本课程采用以下评估方式:1.平时表现:评估学生在课堂上的参与程度、提问回答等情况,以反映学生的学习态度和积极性。
连连看课程设计java
连连看课程设计java一、教学目标本课程旨在通过学习Java编程语言中的“连连看”游戏开发,让学生掌握以下知识目标:1.理解Java编程语言的基本语法和结构。
2.学习使用Java编程语言实现简单的游戏逻辑。
3.掌握使用Java编程语言中的图形用户界面(GUI)设计游戏界面。
在技能目标方面,学生需要能够:1.使用Java编程语言独立完成一个简单的游戏程序。
2.分析并解决游戏开发过程中遇到的问题。
3.能够团队合作,共同完成游戏开发项目。
在情感态度价值观目标方面,我们期望学生:1.培养对计算机编程的兴趣和热情。
2.学会欣赏团队合作的力量,培养团队精神。
3.通过对游戏的开发,培养创新思维和解决问题的能力。
二、教学内容本课程的教学内容将围绕Java编程语言和“连连看”游戏开发展开。
具体内容包括:1.Java编程语言的基本语法和结构。
2.Java编程语言中的图形用户界面(GUI)设计。
3.“连连看”游戏的基本逻辑和规则。
4.使用Java编程语言实现“连连看”游戏。
教学大纲安排如下:第一周:Java编程语言的基本语法和结构。
第二周:Java编程语言中的图形用户界面(GUI)设计。
第三周:“连连看”游戏的基本逻辑和规则。
第四周:使用Java编程语言实现“连连看”游戏。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,如:1.讲授法:用于教授Java编程语言的基本语法和结构。
2.讨论法:通过小组讨论,让学生共同解决问题,培养团队精神。
3.案例分析法:分析已有的游戏案例,让学生了解游戏开发的流程和技巧。
4.实验法:让学生动手实践,独立完成“连连看”游戏的开发。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程语言》。
2.参考书:《Java GUI编程》。
3.多媒体资料:教学PPT、游戏开发案例视频。
4.实验设备:计算机、网络环境。
通过以上教学资源,我们将丰富学生的学习体验,提高教学效果。
连连看课程设计java
连连看课程设计java一、课程目标知识目标:1. 掌握Java基本语法和数据类型,理解变量和常量的概念;2. 学会使用Java中的控制结构,包括条件语句和循环语句;3. 了解Java中的数组及其应用,能够编写简单的数组操作程序;4. 理解面向对象编程的基本概念,掌握类的定义、方法和属性的使用。
技能目标:1. 能够运用所学知识,设计并实现“连连看”游戏的基本功能;2. 培养编程思维,提高问题分析能力和解决问题的能力;3. 学会使用Java集成开发环境(IDE),熟练编写、调试和运行Java程序。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习主动性和积极性;2. 培养学生的团队合作意识,学会与他人共同解决问题;3. 培养学生严谨、认真的学习态度,养成良好的编程习惯。
本课程针对初中年级学生,充分考虑了学生的认知水平、兴趣和实际需求。
课程内容紧密联系教材,以“连连看”游戏为载体,将Java编程知识融入到实际项目开发中,提高学生的实践能力。
通过本课程的学习,期望学生能够掌握Java编程的基本知识,培养编程思维,提高解决问题的能力,同时形成积极、严谨的学习态度。
二、教学内容1. Java基本语法和数据类型:变量定义与使用,数据类型(整型、浮点型、字符型、布尔型)。
2. 控制结构:条件语句(if-else、switch),循环语句(for、while、do-while)。
3. 数组:数组的定义和初始化,数组的基本操作(遍历、排序、查找)。
4. 面向对象编程基础:类的定义,方法(构造方法、实例方法),属性。
5. “连连看”游戏设计与实现:- 游戏规则和界面设计;- 游戏逻辑实现:随机生成图案,配对消除;- 用户交互:鼠标点击事件处理;- 游戏胜负判定。
教学内容依据教材章节进行组织,分为基础知识和项目实践两部分。
基础知识部分按照以下顺序展开:1. 第1章:Java概述和开发环境配置;2. 第2章:Java基本语法和数据类型;3. 第3章:控制结构;4. 第4章:数组;5. 第5章:面向对象编程基础。
java数字连连看课程设计
java数字连连看课程设计一、课程目标知识目标:1. 让学生掌握Java基本数据类型及其运算规则,特别是整数和浮点数的表示和使用。
2. 使学生能够运用循环和条件语句实现数字的排序和查找,解决数字连连看游戏中的逻辑问题。
3. 让学生理解二维数组在表示游戏面板中的应用,并能灵活运用。
技能目标:1. 培养学生编写和调试Java程序的能力,通过数字连连看游戏的开发,提升编程技能。
2. 培养学生分析问题、解决问题的能力,特别是在面对逻辑复杂问题时,能够设计合理的算法。
3. 培养学生的创新思维能力,鼓励他们在游戏设计中加入个人特色。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发他们主动探索新技术的欲望。
2. 培养学生良好的团队协作精神,使他们能够在小组合作中发挥个人优势,共同完成任务。
3. 培养学生面对困难和挑战时的积极态度,增强他们克服困难的信心。
课程性质:本课程为实践性较强的学科课程,结合Java编程知识,以数字连连看游戏为载体,锻炼学生的编程能力和逻辑思维能力。
学生特点:学生处于初中年级,具备一定的Java编程基础,对游戏设计充满兴趣,喜欢动手实践。
教学要求:注重理论与实践相结合,引导学生通过动手实践掌握Java编程技能,培养他们解决问题的能力。
在教学过程中,关注学生的个体差异,提供个性化指导,确保每位学生都能在课程中取得进步。
二、教学内容1. Java基本数据类型:回顾整数类型(byte、short、int、long)、浮点数类型(float、double)的基本概念和使用方法,强调数据类型在数字连连看游戏中的应用。
教材章节:第3章“Java的基本数据类型”2. 控制结构:讲解循环(for、while)和条件语句(if-else、switch)在数字排序和查找中的应用。
教材章节:第4章“Java的控制结构”3. 二维数组:介绍二维数组的概念,演示如何使用二维数组来表示游戏面板上的数字,以及如何进行遍历、访问和修改。
java课程设计连连看
java课程设计连连看一、教学目标本课程的目标是让学生掌握Java编程的基础知识,能够运用Java语言编写简单的程序。
具体分为以下三个部分:1.知识目标:学生需要了解Java语言的基本语法、数据类型、控制结构、类与对象等基本概念。
2.技能目标:学生能够使用Java语言编写简单的控制台应用程序,掌握基本的编程技巧。
3.情感态度价值观目标:培养学生对编程的兴趣,使其认识到编程在现代社会的重要性,培养学生的创新精神和团队合作意识。
二、教学内容教学内容主要包括Java语言的基本语法、数据类型、控制结构、类与对象等。
具体安排如下:1.第一章:Java语言概述,介绍Java语言的起源、特点和应用领域。
2.第二章:基本语法,讲解Java语言的基本语法规则,包括变量、常量、运算符等。
3.第三章:数据类型,介绍Java语言的数据类型系统,包括整数类型、浮点类型、字符类型等。
4.第四章:控制结构,讲解Java语言的控制结构,包括条件语句、循环语句等。
5.第五章:类与对象,介绍Java语言的面向对象编程思想,包括类的定义、对象的创建、方法的重载等。
三、教学方法为了激发学生的学习兴趣和主动性,我们将采用多种教学方法,包括:1.讲授法:讲解基本概念和语法规则,让学生掌握Java语言的基础知识。
2.案例分析法:通过分析实际案例,让学生了解Java语言的应用场景,提高编程能力。
3.实验法:让学生动手编写程序,巩固所学知识,培养实际操作能力。
四、教学资源我们将提供丰富的教学资源,包括:1.教材:《Java编程入门》,为学生提供系统的学习材料。
2.参考书:《Java核心技术》,为学生提供深入学习的参考。
3.多媒体资料:PPT、视频教程等,帮助学生更好地理解知识点。
4.实验设备:计算机、网络等,为学生提供实践操作的环境。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生的学习态度和积极性。
java实现连连看课程设计
java实现连连看课程设计一、课程目标知识目标:1. 掌握Java编程语言的基本语法和结构;2. 理解面向对象编程思想,能够运用类和对象进行程序设计;3. 学会使用Java中的数组存储和管理数据;4. 掌握Java图形用户界面编程,实现连连看游戏的界面设计和布局。
技能目标:1. 能够运用所学知识,独立完成连连看游戏的编写和调试;2. 提高问题分析能力,学会将实际问题转化为计算机程序;3. 培养逻辑思维和编程实践能力,提高编程效率。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性;2. 培养学生的团队协作精神,学会与他人合作解决问题;3. 增强学生的自信心,勇于面对挑战,克服困难;4. 培养学生严谨、细心的学习态度,养成良好的编程习惯。
课程性质:本课程为信息技术学科的一节实践性课程,结合连连看游戏的开发,让学生在实践中掌握Java编程知识。
学生特点:学生处于八年级,具备一定的信息技术基础,对编程有一定的了解,但实践经验不足。
教学要求:注重理论与实践相结合,充分调动学生的积极性,引导学生主动参与课堂讨论和实践操作。
通过完成连连看游戏项目,培养学生的编程能力和解决问题的能力。
在教学过程中,关注学生的个体差异,给予个性化指导,确保每个学生都能达到课程目标。
将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. Java基本语法与结构复习:回顾变量、数据类型、运算符、控制语句等基础知识,确保学生具备编写Java程序的基础能力。
教材章节:第一章 Java语言概述及基础语法。
2. 面向对象编程:介绍类与对象的概念,理解封装、继承、多态等面向对象特性,并通过实例演示如何运用。
教材章节:第二章 面向对象编程。
3. 数组的使用:讲解数组的定义、初始化、遍历和应用,为游戏数据存储打下基础。
教材章节:第三章 数组与字符串。
4. Java图形用户界面编程:介绍Swing库的基本组件,重点讲解容器、布局管理器和事件处理机制。
java课程设计报告连连看
java课程设计报告连连看一、课程目标知识目标:1. 学生能掌握Java基础语法,包括变量声明、数据类型、运算符和表达式。
2. 学生能理解并运用基本的控制结构,如顺序结构、分支结构和循环结构。
3. 学生能掌握数组的使用,包括一维数组、二维数组的定义和操作。
4. 学生能理解面向对象编程的基本概念,如类、对象、封装、继承和多态。
技能目标:1. 学生能运用所学知识设计并实现一个简单的“连连看”游戏,展示其逻辑思维和编程能力。
2. 学生通过编写代码,培养解决问题的能力,学会分析问题、设计算法和数据结构。
3. 学生能使用调试工具检查并修正程序中的错误,提高程序调试能力。
情感态度价值观目标:1. 学生培养对编程的兴趣,激发学习Java的热情,树立学习信心。
2. 学生养成合作学习、团队协作的良好习惯,培养沟通能力和团队精神。
3. 学生认识到编程对解决实际问题的价值,提高对信息技术的认识,培养创新意识和实践能力。
课程性质:本课程为实践性较强的学科,结合理论知识与实际操作,培养学生的编程能力和逻辑思维。
学生特点:学生为初中年级,具备一定的逻辑思维和数学基础,对新鲜事物充满好奇,但注意力容易分散,需要激发学习兴趣。
教学要求:结合学生特点,教师应注重启发式教学,引导学生主动探索,关注个体差异,提高学生的实践操作能力和创新能力。
通过本课程的学习,使学生能够将所学知识应用于实际编程中,达到学以致用的目的。
后续教学设计和评估将围绕以上课程目标展开,确保学生达到预期学习成果。
二、教学内容1. Java基础语法- 变量声明与赋值- 数据类型与转换- 运算符与表达式- 顺序结构程序设计2. 控制结构- 分支结构(if、if-else、switch)- 循环结构(for、while、do-while)3. 数组- 一维数组的使用- 二维数组的使用4. 面向对象基础- 类的定义与对象创建- 封装(私有化属性、公有方法)- 继承与多态5. 游戏设计- “连连看”游戏规则与逻辑- 界面设计与实现- 程序流程控制教学大纲:第一周:Java基础语法学习,包括变量声明、数据类型、运算符和表达式。
数字连连看java课程设计
数字连连看java课程设计一、教学目标本节课的学习目标包括:知识目标:学生能够理解数字连连看Java程序的基本原理和实现方法,掌握Java编程的基本语法和流程控制语句。
技能目标:学生能够独立完成数字连连看Java程序的编写和调试,提高编程能力和问题解决能力。
情感态度价值观目标:学生能够体验到编程的乐趣,培养对计算机科学的兴趣和热情,增强自信心和团队合作意识。
二、教学内容本节课的教学内容主要包括:1.数字连连看Java程序的基本原理和实现方法。
2.Java编程的基本语法和流程控制语句。
3.数字连连看Java程序的编写和调试。
4.导入:介绍数字连连看游戏的基本玩法,引导学生思考如何用Java程序实现。
5.原理讲解:讲解数字连连看Java程序的基本原理和实现方法。
6.语法讲解:讲解Java编程的基本语法和流程控制语句。
7.编程实践:学生独立完成数字连连看Java程序的编写和调试。
8.总结与拓展:总结本节课所学内容,提出拓展问题和思考。
三、教学方法本节课的教学方法包括:1.讲授法:讲解数字连连看Java程序的基本原理和实现方法,以及Java编程的基本语法和流程控制语句。
2.讨论法:引导学生进行小组讨论,共同解决问题和总结经验。
3.案例分析法:分析数字连连看Java程序的案例,让学生理解编程的实际应用。
4.实验法:学生独立完成数字连连看Java程序的编写和调试,提高编程能力。
四、教学资源本节课的教学资源包括:1.教材:提供数字连连看Java程序的相关知识和Java编程的基本语法和流程控制语句。
2.参考书:提供更深入的Java编程知识和技巧。
3.多媒体资料:提供数字连连看Java程序的示例和教学视频,帮助学生更好地理解和掌握知识。
4.实验设备:提供计算机和编程环境,让学生能够实际操作和实践编程。
五、教学评估本节课的教学评估方式包括:1.平时表现:评估学生在课堂上的参与程度、提问回答情况等,占总评的30%。
2.作业:评估学生完成作业的质量和速度,占总评的30%。
连连看java课程设计
连连看java课程设计一、课程目标知识目标:1. 理解Java语言的基本语法和程序结构;2. 掌握连连看游戏的逻辑设计和实现方法;3. 学会使用Java编程解决实际问题。
技能目标:1. 能够运用Java语言编写连连看游戏的界面和功能;2. 能够运用条件语句和循环语句实现游戏逻辑;3. 能够运用数组管理游戏数据,提高编程能力。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性;2. 培养学生解决问题的能力,增强自信心;3. 培养学生团队协作意识,提高沟通能力。
课程性质:本课程为实践性较强的Java编程课程,通过设计并实现连连看游戏,让学生在实践中掌握Java编程技能。
学生特点:学生具备一定的Java基础,对编程感兴趣,喜欢动手实践。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,以学生为主体,充分调动学生的积极性和创造性。
将课程目标分解为具体的学习成果,以便于后续教学设计和评估。
二、教学内容1. Java基本语法复习:变量、数据类型、运算符、控制结构;2. 面向对象基础:类与对象、构造方法、成员变量、成员方法;3. 数组的使用:声明、初始化、遍历、排序;4. Java Swing图形用户界面:窗体、按钮、标签、布局管理器;5. 事件处理机制:事件监听器、事件适配器;6. 连连看游戏逻辑设计:游戏规则、数据存储、界面设计;7. 游戏功能实现:随机生成、匹配消除、计分与计时;8. 游戏测试与优化:功能测试、性能优化、用户体验。
教学内容安排与进度:第一课时:Java基本语法复习,面向对象基础;第二课时:数组的使用,Java Swing图形用户界面;第三课时:事件处理机制,连连看游戏逻辑设计;第四课时:游戏功能实现,测试与优化。
教学内容与教材关联:本教学内容与《Java编程思想》第四章至第七章内容相关,涉及基本语法、面向对象、数组和Swing图形用户界面等方面的知识。
通过本章节学习,学生能够将所学理论知识运用到实际项目中,提高编程实践能力。
java课程设计连连看报告
java课程设计连连看报告一、教学目标本课程旨在通过学习Java编程语言,使学生掌握Java的基本语法、面向对象编程思想以及常用的数据结构与算法。
通过课程学习,学生应能独立编写简单的Java程序,具备解决实际问题的能力。
同时,培养学生的逻辑思维能力、创新意识和团队合作精神。
具体教学目标如下:1.知识目标:–掌握Java基本语法和关键字。
–理解面向对象编程的基本概念,如类、对象、封装、继承和多态。
–熟悉Java常用数据结构,如数组、链表、栈和队列。
–掌握常用算法,如排序、查找、递归等。
2.技能目标:–能够使用Java编程语言独立编写和调试程序。
–具备分析问题、设计算法和解决问题的能力。
–能够阅读和理解Java程序代码。
3.情感态度价值观目标:–培养学生的团队协作意识和沟通能力。
–培养学生勇于探索、创新的精神。
–培养学生热爱科学、追求真理的态度。
二、教学内容本课程的教学内容主要包括Java基本语法、面向对象编程、数据结构与算法。
具体安排如下:1.Java基本语法:–变量、数据类型、运算符。
–控制结构:条件语句、循环语句。
–数组、字符串。
2.面向对象编程:–类与对象。
–封装、继承、多态。
–抽象类、接口。
3.数据结构与算法:–数组、链表、栈和队列。
–排序算法:冒泡排序、选择排序、插入排序等。
–查找算法:顺序查找、二分查找等。
–递归算法。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法。
在教学过程中,注重理论与实践相结合,使学生能够更好地理解和掌握Java编程知识。
同时,通过小组讨论、编程竞赛等形式,激发学生的学习兴趣和主动性。
1.讲授法:用于讲解基本概念、语法和算法。
2.案例分析法:通过分析实际案例,使学生更好地理解面向对象编程思想和数据结构。
3.实验法:让学生动手编写程序,培养实际编程能力。
四、教学资源1.教材:《Java编程思想》。
2.参考书:《Java核心技术》。
3.多媒体资料:PPT、教学视频等。
课程设计报告Java实现游戏连连看(有源代码)
2.4流程图如下图2 主函数流程图图3 游戏进行流程图图4 使用炸弹流程图图5 计算时间流程图图6 开始游戏后画面用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归0),以完成用户以后的选取工作。
如果用户选择的是相同的图片(如第八行第二列和第八行第三列),那么系统会消除这两张图片,并使鼠标记数为0,并消除这两张图片的标记,使里面的图片被标记在外面。
以便用户可以进行以后的选择。
图7 消除三对后画面用户也可使通过使用“炸弹”功能进行消除图片。
方法是点击菜单中的“炸弹”选项使用,点击后如果界面上有两张可以相连的相同图片就随机消除两张可以相连的相同的图片(如第一行第一列河第一行第四列)。
图8 使用炸弹后画面炸弹数目是有限的,默认数目为三,每使用一次“炸弹”功能,炸弹数目就会自动减一,当炸弹数目为零时(使用三次“炸弹”功能)。
并且用户想再次使用炸弹时,系统会弹出对话框提示用户,并把菜单中“炸弹”选项变为灰色(用户不可使用)。
图9 炸弹使用光后画面当系统开始游戏后,系统会在后台记录时间,如果在用户还没有消除所有图片时,系统时间到了,那么系统会弹出对话框,提示用户,时间到了,游戏失败。
图10 时间到时的画面当用户点击确定后,系统还会弹出对话框询问用户是否重新开始,用户选择“是”时,系统会开始新游戏;当用户选择“否”时,系统会返回开始界面;当用户选择“取消”时,系统会返回提示时间到的界面。
图11 点击确定时的画面如果在时间未到时,用户使所有的图片都消失(两两消除,直到最后一对),系统会提示用户游戏以通过,点“确定”后回到开始界面。
图12 通关画面4.设计体会通过这次课程设计我学到了不少东西,也发现了大量的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
因而,通过课程设计之后,把以前所学过的知识重新温故。
有些在设计过程中已解决,有些还有待今后慢慢学习,只要认真学就会有更多的收获。
Java语言课程设计报告格式(连连看)
西安科技大学Java语言课程设计报告题目:基于j2me平台的连连看游戏开发班级:学号:姓名:2011年 1 月 6日目录1设计题目及具体要求 (1)2 总体设计说明书 (3)3 详细设计与实现 (6)4 系统测试 (20)5 设计小结 (20)1设计题目及具体要求1.1题目需求<<连连看>>来源于街机游戏<<四川麻将>>和<<中国龙>>,是给一堆图案中的相同图案进行配对的简单游戏。
2003年,一个名叫朱俊的网友将这种游戏模式搬到个人电脑上,立刻成为办公一族的新宠,并迅速传遍了世界各地。
<<连连看>>考验的是玩家的眼力和记忆力,在有限的时间内,只要把所有能连接的相同的图案,两个一对的找出来,没找出一对(用鼠标点击配对),它们就会自动消失,只要把所有的图案全部消掉就可获得胜利。
开始制作游戏时,主要要解决的问题有以下几个方面:如何设置整个游戏的界面;如何控制连连看游戏中随机图片的生成且每种图片必须为偶数个;游戏开始后,判断键盘两次点击的图片能否消去,即图片是否相同且图片之间路径的判断.设计该游戏仅供学习、研究之用,应用目标是让使用该软件的用户能够在闲暇之时放松一下自己。
设计该游戏是因为对手机游戏的喜爱,以及对QQ游戏中的连连看的了解,所以就产生了自己模仿一个的想法。
由于本软件是模仿其他类似软件开发的,所以只能供学习、研究之用。
1.2实现环境及工具简介1.2.1 开发环境(1)硬件环境处理器:800MHz以上CPU或是更高。
内存:128MB(建议 196MB)。
硬盘空间:20MB。
(2)软件环境操作系统:Windows 98 或是Windows 2000/Windows NT Server 4.0。
开发工具:eclipse-SR2-win32J2ME Wireless Toolkit 2.21.2.2运行环境Nokia(诺基亚) Nokia Developer's Suite 支持J2ME平台的手机。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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.javajbPrompt.addActionListener(new ActionListener(){//提示按钮增加行为监听@Overridepublic 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));//每提示一次减10分game.deleteScore(10);}});class event implements ActionListener{//消除两个相同的图片,若相同,则分数加20分;若不同,不作反应@Overridepublic void actionPerformed(ActionEvent arg0) {//重写接口方法//获取点击位置myJButton jlbNext = (myJButton) arg0.getSource();//输出坐标System.out.println("["+jlbNext.xPoint+","+jlbNext.yPoint+"]");if(flag){if(game.linkOK(jlbFront.xPoint+1,jlbFront.yPoint+1,jlbNext.xPoint+1,jlbNext.yPoint+1)) {if(game.needRandom()){game.random();//通过needRandom()调用,实现抖动,并且重置界面for(int i=0;i<10;i++){for(int j=0;j<10;j++){if(game.getMyMap()[i+1][j+1]!=0)jlb[i][j].setIcon(imageIcon[game.getMyMap()[i+1][j+1]-1]);}}}}if(game.isWin()){//赢的时候,提示按钮功能被屏蔽jbPrompt.setEnabled(false);int n =JOptionPane.showConfirmDialog(null, "你的分数是"+game.getScore()+"是否想再来一局?","提示",JOptionPane.YES_NO_OPTION);//再来一局if(n == JOptionPane.YES_OPTION){MainFrame f = new MainFrame();f.setTitle("~~连连看~~");f.setVisible(true);f.setSize(800, 850);}}}}class myJButton extends JButton{//实现按钮和图片的比例吻合的功能/****/private static final long serialVersionUID = 1L;public int xPoint;public int yPoint;public myJButton(ScaleIcon imageIcon){super(imageIcon);}public void setPoint(int x,int y){xPoint = x;yPoint = y;}}class ScaleIcon implements Icon{//初始化图标的大小//private BufferedImage i = null;private Icon icon = null;public ScaleIcon(Icon icon) {this.icon = icon;}@Overridepublic int getIconHeight() {return icon.getIconHeight();}@Overridepublic int getIconWidth() {return icon.getIconWidth();}public void paintIcon(Component c, Graphics g, int x, int y) { float wid = c.getWidth();float hei = c.getHeight();int iconWid = icon.getIconWidth();int iconHei = icon.getIconHeight();Graphics2D g2d = (Graphics2D) g;g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.V ALUE_INTERPOLATION_BILINEAR);g2d.scale(wid / iconWid, hei / iconHei);icon.paintIcon(c, g2d, 0, 0);}}2、Game.javapublic boolean startGame(){for(i=0;i<sizeX*sizeY;i++){int x = (int) (Math.random()*100);int a = save[i];save[i] = save[x];save[x] = a;}//产生100张图片for(i=0;i<sizeX*sizeY;i++){map[i] = save[i];}//把图片的坐标信息放入map里for(i=1;i<=sizeX;i++){for(j=1;j<=sizeY;j++){myMap[i][j]=map[(i-1)*sizeY+(j-1)];}}//把图片的坐标信息放入map里return true;}public boolean canLink(int startX,int startY,int endX,int endY,int step,int di){//判断能否消除int ss;for(int i=0;i<4;i++){//横向搜索int x = startX + dir[0][i];//纵向搜索int y = startY + dir[1][i];//若没搜索到,则跳出if(x<0||x>sizeX+1||y<0||y>sizeY+1){continue;}ss = step;if(i!=di){ss = step +1;}if(ss >=3){continue;}if(x==endX&&y==endY){return true;}else{if(myMap[x][y] == 0 && used[x][y] != true){used[x][y] = true;if(canLink(x,y,endX,endY,ss,i)){return true;}used[x][y] = false;}else{continue;}}}return false;}public boolean linkOK(int startX,int startY,int endX,int endY) {//是否能消掉图片for(int i=0;i<used.length;i++){for(int j=0;j<used[i].length;j++){used[i][j]=false;}}//初始时,定义所有图片都没用过used[startX][startY] = true;if(myMap[startX][startY]!=myMap[endX][endY]){return false;}if(canLink(startX,startY,endX,endY,-1,-1)){myMap[startX][startY] = 0;myMap[endX][endY] = 0;GameScore += 20;return true;}else{return false;}}public boolean Tip(point sp,point ep){//实现提示功能for(sp.x=1;sp.x<sizeX;sp.x++){for(sp.y=1;sp.y<=sizeY;sp.y++){for(ep.x=1;ep.x<=sizeX;ep.x++){for(ep.y=1;ep.y<=sizeY;ep.y++){for(int i=0;i<used.length;i++){for(int j=0;j<used[i].length;j++){used[i][j]=false;}}//初始时,定义所有图片都没用过used[sp.x][sp.y] = true;//改变图片的used属性,说明此图片已经消除掉了if(myMap[sp.x][sp.y]==0||myMap[ep.x][ep.y]==0||(sp.x==ep.x&&sp.y==ep.y)||myMap[sp.x][sp.y]!=myMap[ep.x][ep.y]){continue;}//若地图里myMap[sp.x][sp.y]或者myMap[sp.x][sp.y]没有图片,则跳出当前循环if(canLink(sp.x,sp.y,ep.x,ep.y,-1,-1)){return true;}//如果能消除,则返回true}}}}return false;}public void random()//实现抖动重置功能for(int i=1;i<=sizeX;i++){for(int j=1;j<sizeY;j++){if (myMap[i][j]!=0){myMap[i][j] = save[--k];}}}}public boolean needRandom(){//判断是否需要抖动重置,如果无法通过提示功能消除图片,则就需要抖动重置//point startPoint = null;//point endPoint = null;if(Tip(new point(),new point())){return false;}return true;}3、Point.javapackage game;public class point {public int x,y;}4.小结以上介绍了连连看游戏的设计代码及代码实现,游戏任务不设定限定实际。