Java课程设计扫雷游戏
- 格式:pptx
- 大小:4.59 MB
- 文档页数:34


合肥学院
计算机科学与技术系
课程设计报告
2009~2010学年第二学期
课程 Java语言与应用
课程设计名称 扫雷游戏
学生姓名 胡远远
学号 0604031005
专业班级 07网络工程一班
指导教师 许强 张贯虹
2010年 09月
1.设计内容及要求
1.1 扫雷游戏的基本要求
Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下:
(1)选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。
(2)用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。
(3) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。
(4)扫雷胜利后,显示游戏胜利。
(5) 用户可以右击空格,可以选择标记为“旗帜”、“问号”或者返回成空格。
1.2 需实现的主要功能
(1)用户点击笑脸实现复位操作。
调用repaint()和validate()函数对界面进行重置以及刷新操作
(2)可以显示用户完全扫雷成功所花时间。
文本框TF记录扫雷成功所花的时间
(3)在失败和胜利后跳出失败或胜利的文本框
JoptionPane 该类用来调出对话框并提示胜利
2.需求分析
2.1 扫雷棋盘的布局设计
系统的整体布局为:CardLayout布局, 采用了文本框、按钮、面板、框架…等组件,菜单主要有run按钮笑脸和哭脸,按钮的功能是重新开始新的游戏。
2.2 雷区的设计
MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。标明MineArea类的主要成员变量、方法以及和MineGame类之间组合关系的UML图如下图所示。
简单扫雷java课程设计框图
一、课程目标
知识目标:
1. 学生能理解Java基础语法,掌握面向对象编程的基本概念。
2. 学生能掌握简单扫雷游戏的逻辑设计,包括二维数组的使用、随机数的生成。
3. 学生能运用Java编程实现简单扫雷游戏的界面布局与功能。
技能目标:
1. 学生能够运用所学知识,独立设计并编写简单扫雷游戏的框图和代码。
2. 学生能够运用调试工具,找出并修正编程过程中的错误。
3. 学生能够通过小组合作,培养团队协作能力和沟通能力。
情感态度价值观目标:
1. 学生通过学习Java编程,培养解决问题的能力和创新思维。
2. 学生在游戏编程过程中,体验编程的乐趣,激发对计算机科学的兴趣。
3. 学生在团队合作中,学会尊重他人意见,培养良好的团队精神和沟通能力。
本课程针对初中年级学生,结合学科特点,注重培养学生的编程兴趣和实际操作能力。课程以Java编程语言为基础,通过设计简单扫雷游戏,让学生在实践过程中掌握编程知识和技巧。课程目标明确,可衡量,旨在帮助学生将所学知识应用于实际项目中,提高学生的编程能力和团队协作能力。
二、教学内容
1. Java基础语法复习:变量、数据类型、运算符、控制结构(条件语句、循环语句)。
2. 面向对象编程基础:类与对象、构造方法、属性、方法。
3. 二维数组:定义、初始化、遍历、访问。
4. 随机数生成:Random类、Math类。
5. 简单扫雷游戏逻辑设计:游戏规则、雷区生成、扫雷功能、标记功能。
6. 界面布局与设计:使用Java Swing库,掌握JFrame、JButton、JLabel等组件的使用。
7. 事件处理:鼠标点击事件、键盘事件。
8. 游戏功能实现:编写代码实现游戏逻辑、界面交互、胜利条件判断。
教学内容根据课程目标进行选择和组织,以课本为依据,结合学生实际水平,确保科学性和系统性。教学大纲明确教学内容安排和进度,分为八个部分,循序渐进地引导学生学习。教学内容涵盖Java编程基础、面向对象编程、数组、随机数生成等,以及简单扫雷游戏的设计与实现,旨在帮助学生将所学知识应用于实际项目中,提高编程技能。
创建时间:
实验题目 实验1:扫雷游戏
实验时间 14年11月1日 实验地点 A主410
实验成绩 实验性质 □验证性 √设计性 □综合性
教师评价:
□算法/实验过程正确;□源程序/实验内容提交 □程序结构/实验步骤合理;
□实验结果正确; □语法、语义正确;□报告规范;
其他:
评价教师签名:
一、实验目的
1. 掌握选择结构;
2. 掌握循环结构;
3. 掌握循环的嵌套;
4. 掌握方法的地柜调用;
5. 掌握数组的使用;
6. 掌握图形的绘制
二、实验项目内容(实验题目)
编写程序实现扫雷游戏:
1)可以进行随机布雷;
2)可以对无雷各自统计其邻居所拥有的地雷数;
3)可以进行显示;
4)可以进行完整的扫雷游戏;
5)可以实现图形化的扫了程序
三、源程序(实验过程或算法)
import java.util.Scanner;
public class Mines {
private static final int NUM = 10;//这个NUM是雷数,可以编写一
个程序来改变
private static final int SNUM = 9;//这个SNUM是扫雷的格数,可以编写一个程序来改变
public static char [][]setMines(){
char[][]mines=new char[SNUM][SNUM];
int count=0;
while(count
int i=(int)(Math.random()*mines.length);//hang
int j=(int)(Math.random()*mines[0].length);//lie
if(mines[i][j]!='*'){
mines[i][j]='*';
复制java扫雷游戏课程设计
一、课程目标
知识目标:
1. 让学生掌握Java基础语法和面向对象编程思想,能运用所学知识编写简单的游戏程序;
2. 让学生了解扫雷游戏的基本规则和逻辑,理解游戏设计的基本流程;
3. 使学生掌握使用Java进行二维数组操作和基本算法实现。
技能目标:
1. 培养学生独立编写Java程序的能力,提高编程实践技能;
2. 培养学生分析问题、解决问题的能力,能够将实际问题转化为程序逻辑;
3. 培养学生团队协作和沟通能力,能够共同完成一个完整的游戏项目。
情感态度价值观目标:
1. 激发学生对编程的兴趣,培养学生主动探究、自主学习的精神;
2. 培养学生面对挑战时的坚持和耐心,树立克服困难的信心;
3. 培养学生遵守编程规范,养成良好的编程习惯,提高职业道德素养。
课程性质:本课程为实践性较强的编程课程,以项目为导向,注重培养学生的动手能力和实际应用能力。
学生特点:学生具备一定的Java基础,对编程感兴趣,但实践经验不足,需要通过实际项目来提高。
教学要求:教师需引导学生掌握游戏设计的基本原理和编程技巧,注重启发式教学,鼓励学生积极参与讨论和实际操作。同时,关注学生的个体差异,给予不同学生个性化的指导。通过本课程的学习,使学生能够独立完成一个Java扫雷游戏的编写,达到预期的学习成果。
二、教学内容
1. Java基础语法复习:变量、数据类型、运算符、控制结构(条件语句、循环语句);
2. 面向对象编程:类与对象、继承与多态、接口与实现;
3. 二维数组:数组声明、初始化,遍历和操作二维数组;
4. 游戏设计原理:扫雷游戏规则、界面设计、逻辑实现;
5. 编程实践:使用Java编写扫雷游戏的各个模块,如界面展示、地雷生成、翻开格子、标记地雷等;
6. 算法实现:查找算法、递归算法等在扫雷游戏中的应用;
7. 软件测试:单元测试、集成测试,确保游戏程序的正确性和稳定性;