当前位置:文档之家› JAVA 扫雷游戏课程设计与实现

JAVA 扫雷游戏课程设计与实现

JAVA 扫雷游戏课程设计与实现
JAVA 扫雷游戏课程设计与实现

目录

前言 (2)

1.设计目的 (3)

2.设计内容及要求 (3)

2.1扫雷游戏的基本要求 (3)

3.需求分析 (4)

3.1扫雷棋盘的布局设计 (4)

3.2雷区的设计 (4)

3.2.1成员变量 (4)

3.2.2方法 (5)

3.3排行榜设计 (5)

4.总体设计 (6)

4.1总体功能图 (6)

4.2总体流程图 (7)

4.3雷区设计流程图 (8)

4.4排行榜设计流程图 (9)

5.代码实现 (9)

5.1类之间关系图 (9)

5.2运行效果图 (10)

5.3程序打包发布过程 (13)

6.总结 (14)

参考文献 (14)

7.主要源代码 (15)

前言

随着大学的扩招,在校大学生的人数也剧增。老师教学任务繁重,加上各种教学设计、评估,老师工作量繁重不说,却往往事倍功半,教学质量没有明显的提高。同时,如何设计考核的题目,使学生的知识得到总结、归纳和应用,并且使零散的知识条理化和系统化,这也是老师们重点思考的方向,但如此一来,在繁重的教学任务之外,分散了老师们不少的精力。与传统考试模式相比,在线考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度增加考试成绩的客观性和公正性。所以本次课程设计充分利用现有的计算机软、硬件和网络资源实现无纸化考试以避免传统手工考试的不足,力求一种高效率的考试系统,来减轻教师负担,为学生提供更好的学习平台,同时提高自己系统开发的能力。同时可以对试卷的难度系数、考试的时间、参考的对象等考试规则等进行量化。操作简便快捷,解决了考试程序繁芜,教师耗时费力的问题。学生可以在线自测,系统按照考试规则随机出题;也可以参加统一考试,试题由系统按照老师制定的规则生成统一的一份试卷。同时教师可以针对某个考试,查看平均分、最高分、最低分、及格率、排名、答卷等信息。在系统性能方面,在高并发人数下,本系统将依然能提供一个稳定运营环境。

总之本系统实现后将有如下的功能:

(1)可以创立电子题库,方便地实现试题的数字化管理.

(2)可以按照科学的策略智能组卷,从而提高出卷效率.

(3)可以具有操作性和交互性.

(4)使考试和评卷更具规范性和合理性.

(5)实现自动评卷和数据的有效保存.

1.设计目的

通过选择扫雷游戏软件设计,这个综合性的题目作为本次的课程设计。可以让我们更加熟悉Java程序设计这门课程,学会熟练使用Java这个软件,加深对Java语言的掌握,提高编程水平。同时培养独立思考和同学间团结合作的能力,为毕业设计以及将来的工作打下坚实的基础。

2.设计内容及要求

2.1扫雷游戏的基本要求

Windows2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下:

(1)扫雷游戏分为初级、中级和高级三个级别,扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。

(2)选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。

(3)用户要揭开某个方块,可单击它。若所揭方块下有泪,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。

(4)如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。

(5)扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。

(6)用户可以选择标记疑问的方块,用可以勾选游戏菜单下的标记(或者用快捷键alt+G然后M)即可,此时双击右键并可出现“?”标记。另有颜色选项,当用户勾选此项时,游戏将以最低图像像素来显示。

(7)如果用户需要即使提示声,并可选中声音选项,此时将听到计时的卡塔声。当用户点中雷时,将有爆炸声产生,胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。

2.2需实现的主要功能

(1)用户可以自定义级别并且可以任意输入雷数;

(2)具有计时功能,即显示用户完成移动盘子所花费的时间;

(3)用户可以选择是否有音效;

(4)自动保存扫雷英雄榜;

3.需求分析

3.1扫雷棋盘的布局设计

系统的整体布局为:CardLayout布局,采用了菜单、按钮、面板…等组件,菜单主要包括开始,选择级别,标记,扫雷英雄榜,退出,按钮的功能是重新开始新的游戏。

3.2雷区的设计

MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。标明MineArea类的主要成员变量、方法以及和MineGame类之间组合关系的UML图如图2-1所示。

以下是UML图中有关数据和方法的详细说明。

3.2.1成员变量

(1)block是Block类型的数组,用来确定雷区有多少需进行扫雷的方块。

(2)blockView是BlockView类型的数组,负责为block数组中的Block对象提供视图。

(3)lay是LayMines类型的对象,负责设置block数组中的哪些方块是雷或不是雷。

(4)record负责提供保存成绩的界面,是一个对话框,默认不可见。用户只有扫雷成功后(用时最少),才可以看见对话框。

(5)reStart是一个按钮对象,用户单击它重新开始游戏。(6)time是计时器对象,负责计算用户的用时。

3.2.2方法

(1)initMineArea(int,int,int,int)方法可根据参数提供的数据设置雷区的宽度、高度、雷的数目以及雷区的级别。

(2)actionPerformed(ActionEvent)是MineArea类实现的ActionListener接口中的方法。当用户单击blockView中的某个方块时,actionPerformed(ActionEvent)方法负责执行有关算法,例如,当用鼠标左键单击方块上的按钮后,若该方块下有雷,actionPerformed(ActionEvent)方法将使用户输掉本局,若该方块下无雷,actionPerformed(ActionEvent)方法将显示blockView对象中的标签,该标签上是一个数字,该数字代表当前方块的周围的8个方块中共有多少颗雷。

(3)show()方法是一个递归方法。actionPerformed(ActionEvent)方法执行时将调用show方法进行扫雷。

(4)mousePressed(MouseEvent)方法是MineArea类实现的MouseListener接口中的方法,当用户按下鼠标有件事mousePressed(MouseEvent)方法负责让方块上显示一个探雷标记。

(5)inquireWin()方法用来判断用户是否扫雷成功,如果成功该方法负责让record 对话框可见。所谓扫雷成功是指不仅找到了全部的累而且用时最少。综上所述,MineArea创建的扫雷区域效果如图2.2.2所示。

3.3排行榜设计

LogDialog是javax.swing包中Jdialog对话框的子类,并实现了ActiongListener 接口。LogDialog创建的对象dialog是MainFrame类(主类)的成员之一,当用户选择查看“英雄榜”菜单项时,该对话框可见,提供了查看扫雷的最好成绩的界面。标明LogDialog类的主要成员变量、方法以及和MainFrame类之间组合关系的UML图如图2-3所示。

4.总体设计4.1总体功能图

4.2总体流程图

4.3雷区设计流程图

4.4排行榜设计流程图

5.代码实现

5.1类之间关系图

5.2运行效果图

5.3程序打包发布过程

可以使用jar.exe命令制作JAR文件来发布编写的软件。

(1)首先用文本编辑器,如Windows下的“记事本”,编写一个清单文件:Mymoon.mf

Manifest-Version:1.0

Main-Class:MineGame

Created-By:1.5(Sun Microsystems Inc.)

将Mymoon.mf保存到G:\Java课程设计\扫雷游戏1\扫雷游戏33中,即和应用程序所用的字节码文件保存在相同的目录中。

注意:清单文件中的“Manifest-Version:”和1.0、“Main-Class”和主类MineGame

之间以及“Created-By:”和1.5之间必须有且只有一个空格。

(2)生成JAR文件。G:\Java课程设计\扫雷游戏1\扫雷游戏33\jar cfm Game.jar Mymoon.mf*.class其中,参数c表示要生成一个新的JAR文件,f表示要生成的JAR文件的名字,m表示清单文件的名字。

可以将Hannoi.jar复制到任何一个安装了Java运行环境(版本号需高于1.5的计算机上)的计算机上,用户用鼠标双击该文件的图标就可以运行扫雷游戏。

6.总结

通过这次的课程设计,我对Java这门语言有了更深刻的理解。其中包括类、对象、接口、继承、方法以及Java语言中的常用包等的使用方法,特别是图形用户界面里各种组件的创建,事件处理等相关知识。还学会了很多在这个学期《Java2课程设计基础》课上没有学会和没有学懂的东西,使我对Java语言是一种非常难懂的语言的思想有了极大的改观。这次的课程设计是用Java语言及相关知识设计一个扫雷游戏系统,能实现选择游戏级别,记录游戏时间和保存游戏成绩等功能。虽然整个设计的时间才短短两周,我还是对JDK和JCreator等Java语言开发工具有了深层次的认知,并熟练掌握了它们的使用方法。而且这次的课程设计,也使我的编程能力有了明显的提高。通过这次课程设计设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。此外,我认为这次课程设计最大的收获就是:知识必须通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。

参考文献

[1]Java课程设计(第二版)清华大学出版社耿祥义张跃平

[2]Java2实用教程(第三版)清华大学出版社耿祥义等

[3]精通Struts:基于MVC的Java Web设计与开发.北京:电子工业出版社,2004.08

[4]《JAVA语言与面向对象程序设计》.印旻.清华大学出版社。

[5]《JavaApplet实例编程》,赤金、聂松编著,中国水利水电出版社

[6]《Java开发利器——Eclipse从入门到精通》张峰科技编,清华大学出版社

[7]《Java2核心》第二版窗体底端

[8]Sun中国技术社区https://www.doczj.com/doc/899787982.html,/

[9]Java之家https://www.doczj.com/doc/899787982.html,/

[10]Apache社区https://www.doczj.com/doc/899787982.html,/

7.主要源代码

importjava.awt.BorderLayout;

importjava.awt.Container;

importjava.awt.Font;

importjava.awt.GridLayout;

importjava.awt.Insets;

importjava.awt.event.ActionEvent;

importjava.awt.event.ActionListener;

importjava.awt.event.MouseAdapter;

importjava.awt.event.MouseEvent;

importjavax.swing.JButton;

importjavax.swing.JFrame;

importjavax.swing.JLabel;

importjavax.swing.JMenu;

importjavax.swing.JMenuBar;

importjavax.swing.JMenuItem;

importjavax.swing.JPanel;

importjavax.swing.Timer;

public class ScanLei1extends JFrame implements ActionListener{ private static final long serialVersionUID=1L;

private Container contentPane;

privateJButtonbtn;

privateJButton[]btns;

privateJLabel b1;

privateJLabel b2;

privateJLabel b3;

private Timer timer;

privateint row=9;

privateint col=9;

privateint bon=10;

privateint[][]a;

privateint b;

privateint[]a1;

privateJPanel p,p1,p2,p3;

public ScanLei1(String title){

super(title);

contentPane=getContentPane();

setSize(297,377);

this.setBounds(400,100,400,500);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

timer=new Timer(1000,(ActionListener)this);

a=new int[row+2][col+2];

initGUI();

}

public void initGUI(){

p3=new JPanel();

b=bon;

JMenuBarmenuBar=new JMenuBar();

JMenu menu1=new JMenu("游戏");

JMenu menu2=new JMenu("帮助");

JMenuItem mi1=new JMenuItem("初级");

JMenuItem mi2=new JMenuItem("中级");

JMenuItem mi3=new JMenuItem("高级");

mi1.addActionListener(this);

menu1.add(mi1);

mi2.addActionListener(this);

menu1.add(mi2);

mi3.addActionListener(this);

menu1.add(mi3);

menuBar.add(menu1);

menuBar.add(menu2);

p3.add(menuBar);

b1=new JLabel(bon+"");

a1=new int[bon];

btn=new JButton("开始");

btn.addActionListener(this);

b2=new JLabel("0");

b3=new JLabel("");

btns=new JButton[row*col];

p=new JPanel();

p.setLayout(new BorderLayout());

contentPane.add(p);

p.add(p3,BorderLayout.NORTH);

//combo=new JComboBox(new Object[]{"初级","中级","高级"});

//加监听

/*combo.addItemListener(new ItemListener(){

}});*/

p1=new JPanel();

//在那个位置

//((FlowLayout)p1.getLayout()).setAlignment(FlowLayout.RIGHT);

p1.add(b1);

p1.add(btn);

p1.add(b2);

p1.add(b3);

p.add(p3,BorderLayout.NORTH);

p.add(p1,BorderLayout.CENTER);

p2=new JPanel();

p2.setLayout(new GridLayout(row,col,0,0));

for(inti=0;i

btns[i]=new JButton("");

btns[i].setMargin(new Insets(0,0,0,0));

btns[i].setFont(new Font(null,Font.BOLD,25));

btns[i].addActionListener(this);

btns[i].addMouseListener(new NormoreMouseEvent());

p2.add(btns[i]);

}

contentPane.add(p,BorderLayout.NORTH);

contentPane.add(p2,BorderLayout.CENTER);

}

public void go(){

setVisible(true);

}

public static void main(String[]args){

new ScanLei1("扫雷").go();

}

public void out(int[][]a,JButton[]btns,ActionEvente,inti,intx,int y){

int p=1;

if(a[x][y]==0){

a[x][y]=10;

btns[i].setEnabled(false);//33

for(int l=y-1;l<=y+1;l++){

int m=x-1-1;

int n=l-1;

p=1;

System.out.println(a[1][2]);

if(n>-1&&n-1&&m

{

for(int q=0;qrow;

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){

if(a[x-1][l]!=0&&a[x-1][l]!=10){

btns[n+col*q].setText(a[x-1][l]+"");

a[x-1][l]=10;

btns[n+col*q].setEnabled(false);

}

else if(a[x-1][l]==0){

//a[x-1][l]=10;

btns[n+col*q].setEnabled(false);

out(a,btns,e,n+col*q,x-1,l);////55////

a[x-1][l]=10;

btns[n+col*q].setEnabled(false);

}

p=0;

}

}

}

p=1;

m=x;

if(n>-1&&n-1&&m

{

for(int q=0;q

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){

if(a[x+1][l]!=0&&a[x+1][l]!=10){

btns[n+col*q].setText(a[x+1][l]+"");

a[x+1][l]=10;

btns[n+col*q].setEnabled(false);

}

else if(a[x+1][l]==0){

out(a,btns,e,n+col*q,x+1,l);///55////

a[x+1][l]=10;

btns[n+col*q].setEnabled(false);

}

p=0;

}

}

}

}

int m=x-1;

int n=y-1-1;

p=1;

if(n>-1&&n-1&&m

{

for(int q=0;q

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){

if(a[x][y-1]!=0&&a[x][y-1]!=10){

btns[n+col*q].setText(a[x][y-1]+"");

a[x][y-1]=10;

btns[n+col*q].setEnabled(false);

}

else if(a[x][y-1]==0){

out(a,btns,e,n+col*q,x,y-1);

a[x][y-1]=10;

btns[n+col*q].setEnabled(false);

}

p=0;

}

}

}

p=1;

m=x-1;

n=y+1-1;

if(n>-1&&n-1&&m

{

for(int q=0;q

if(((n+col*q)>=(m*col))&&((n+col*q)<(m+1)*col)){

if(a[x][y+1]!=0&&a[x][y+1]!=10){

btns[n+col*q].setText(a[x][y+1]+"");

a[x][y+1]=10;

btns[n+col*q].setEnabled(false);

}

else if(a[x][y+1]==0){

out(a,btns,e,n+col*q,x,y+1);

a[x][y+1]=10;

btns[n+col*q].setEnabled(false);

}

p=0;

}

}

}

}

}

public void actionPerformed(ActionEvent e){

if(e.getActionCommand()=="初级"){

row=9;

col=9;

bon=10;

a1=new int[bon];

b=bon;

//setSize(297,377);

扫雷的课程设计报告

西安文理学院信息工程学院课程设计报告 设计名称:数据结构课程设计 设计题目:实现一个N*M的扫雷游戏 学生学号:1402130407 专业班级:软件13级四班 学生姓名:樊秀琳 学生成绩: 指导教师(职称):谢巧玲(讲师) 课题工作时间:2015.6.22 至2015.7.3

说明: 1、报告中的任务书、进度表由指导教师在课程设计开始前填写并发给每个 学生。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩。 3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律 按不及格处理。答辩由指导教师实施。 4、报告正文字数一般应不少于3000字,也可由指导教师根据本门综合设 计的情况另行规定。 5、平时表现成绩低于6分的学生,取消答辩资格,其本项综合设计成绩按 不及格处理。

信息工程学院课程设计任务书 指导教师:院长: 日期:2015年6月22日

信息工程学院课程设计进度安排表 学生姓名:樊秀琳学号:1402130407 专业:软件工程班级:13级四班 指导教师签名: 2014年6月22日

成绩评定表 学生姓名:樊秀琳学号:1402130407 专业:软件工程班级:13级四班

摘要 摘要: 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。扫雷游戏是比较经典的一款小游戏,实现它的方法很多,可以用很多不同算法设计和语言实现,如C,C++,VB,JAVA等。我利用eclipse编写了与它功能相似的扫雷游戏,寓学于乐。 程序的功能是随机生成地雷数,通过鼠标操作玩游戏,不接受键盘,按任意键结束程序。单击屏幕上的笑脸可以重新开始游戏。所有地雷标出后胜利,当鼠标左键单击到地雷时提示游戏失败。其功能类似于Windows操作系统自带的扫雷游戏。论文首先介绍了进行该游戏课程设计的目的,然后是任务描述和设计的相关要求,最后是最重要的需求分析和设计方案。重点介绍了在游戏过程中各事件的处理,其中又以鼠标事件和清除未靠近地雷区方块这两方面最为最要,鼠标事件是利用鼠标所发出的信息了解用户的意图,进而做出相对应的动作。清除未靠近地雷区的方块较为复杂。 关键词:算法设计;事件;Eclipse

2013级JAVA课程设计题目

Java课程设计题目 一、课程设计总体要求: 本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,因此,开始设计前学生一定要先回顾以前所学的内容,明确本次作业设计所要用到的技术点并到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JA V A的应用系统综合实例,来掌握Java语言编程技巧。 重要说明日程说明: 1、4月21日前分组选题,查询资料,21-27日程序设计以及上机调试。最多2人一组。 2、设计报告打印一份,并将电子版以”13信算xx班第XX组报告.rar”的压缩包发到邮 箱:325822013@https://www.doczj.com/doc/899787982.html,邮箱。 3、压缩包里包含:设计报告的word版,word名称参考说明2,程序源代码文件。 注意:4月27日23点59分之后不再接收电子以及纸质稿,逾期成绩一律按不及格计算,联系方式qq:325822013,TEL:670705。 机房开放安排说明: 1.机房地点:求中502、503 2.时间安排共开放2.5天: 21日(周一):1-2节信算1、2班/ 3-4节数学1、2班/ 5-6节信算3班 23日(周三)全天,25日(周五)上午自由开放 二、参考题目及要求: 1、编写一个记事本程序(2人) 要求:用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 2、ATM柜员机模拟程序(3人) 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: 1、查询余额:初始余额为10000元 2、A TM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 3、A TM存款:不能出现负存款。 4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 3、超市收银系统(3人) 要求:使用图形用户界面。 由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。

基于QT扫雷游戏毕业设计任务书

太原理工大学 毕业设计(论文)任务书

第2页

第3页主要参考文献(资料): [1] 谭锋,章伟聪,Visual C++程序设计实训教程,北京:科学出版社,2003.8 2008 [2] 成洁,卢紫毅.Linux窗口程序设计一一Qt精彩实例分析[M].北京:清华大学出版社, [3] 王超龙,陈志华,Visual C++入门与提高,北京:人民邮电出版社,2002.6 [4] 肖宏伟,Visual C++实效编程百例,北京:人民邮电出版社,2004.8 ⑸张建强,张秀梅.扫雷游戏策略初探[J].数学教学,2004(6):32-33 [6] 肖永亮Visual C++游戏编程基础,北京:电子工业出版社,2005.5 [7] 赵大伟,肖周芳,张艳.从扫雷游戏浅谈一些算法问题[J].科技信息,2008(29):69 [8] 刘加海,余建军,Visual C++程序设计基础,北京:科学出版社,2003.8 [9] (美国)Ivor Horton ,Beginning Visual C++2005 ,清华大学出版社,2007 [10] (美国)斯塔勒,游戏编程中的数理应用,红旗出版社,2005.3 [11] (美国)道森,C++游戏编程入门教程,人民邮电出版社,2006.1 [12] (美国)莫里森,游戏编程入门,人民邮电出版社,2005.9 [13] (美国)麦克沙夫瑞,游戏编程全接触,人民邮电出版社,2006.1

专业班级学生 要求设计(论文)工作起止日期2014年3月17日~2014年6月27日 指导教师签字日期2014年3月17日教研室主任审查签字日期 系主任批准签字日期

java课程设计参考题目

参考题目 选题原则:所完成的系统应能够在生活、学习中使用,以实用性为主。模仿生活、学习中使用到的各种软件,做mini版本。开发的目标是自己、同学愿意使用你所开发的软件完成一些简单任务。从小功能着手,一点点的添加功能。添加一个功能就运行试试,减少越来越难于调试的可能。也可自选。jsp或java完成都可。 1.文件复制 完成一个程序,这个程序可以将指定文件夹中的内容复制到另一个文件夹中去。 设计要求: 1)实现文件夹复制; 2)程序中需要考虑输入输出异常处理; 3)用户可以指定不同的参数:用-ext指定要复制的文件的扩展名,可以 同时指定多个扩展名;用-empty指定不复制空目录;用-zip表示进行压缩; 还可以增加其它选项 4)在dos控制台窗口环境下,通过命令行参数运行程序,如: 2.图片浏览器 类似于ACDSEE的图片浏览器 设计要求: 1)可以对图片进行不同的分类,并能够按分类显示 2)备份功能,用压缩实现用户选定文件的备份,用户指定文件的方式 要多样,如在分类上、在实际文件夹上。 3)幻灯功能,通过分类、实际文件夹等多种方式指定要幻灯浏览的图 片; 3.压缩文件浏览器 仿照Winrar浏览压缩文件。 设计要求: 1)能够以图形方式显示zip、tar、jar压缩文件中的内容

2)能解压用户选定的文件到选定的目录,注意winrar中指定解压整个 目录的方式 3)能够对压缩文件增加注释 4.文件加密工具 能够对文件、文件夹进行加密,可以由用户选择加密算法。 设计要求: 1)图形界面选定加密、解密的文件。 5.提醒簿(使用数据库) 仿照雪狐提醒簿。 设计要求: 1)由用户定义时间及提醒的内容; 2)定时时间到弹出窗口提醒或使用其它方式; 3)用户可以更改、删除提醒; 4)提醒的方式中包括使用邮件; 5)可以浏览提醒,已完成和未完成使用不同的图标; 6)用户可以注册、登录,登录的显示属于自己的提醒事项; 7)可以导出、导入提醒。 6.部门员工管理系统(使用数据库) 图形界面实现对部门、员工的管理。部门可以增、删、改,员工可以增、删、改及在不同的部门间调动。部门放JComboBox中,所属员工信息用多个JTextField 或JTable显示都可。要用菜单实现不同的功能。 7.备忘录(使用数据库) 设计要求: 1)系统界面的左侧是日历,该日历可以按年份前后翻动,在某年内按 月可以前后翻动; 2)单击选定的日期,系统界面的右侧显示相应的记事,可增、删、改; 3)每日的记事可有多条。 8.学生成绩管理系统(使用数据库) 功能要求: 2

基于Qt的扫雷游戏设计毕业设计论文

毕业设计(论文) 题目基于Qt的扫雷游戏设计 系别 专业 班级 姓名 学号 指导教师 日期

摘要 扫雷游戏是一款经典的小游戏,这款游戏不仅可以让人们充分享受娱乐的目的,而且可以通过这款小游戏开发人的逻辑推理能力和判断能力。本次毕业设计我们以Qt4.6为开发环境,设计并开发了基于Qt的扫雷游戏。 扫雷游戏主要研究以下两个方面: 第一是初始化问题,包括随机产生本局游戏中的雷数,雷的分布对于每个小区域如何获得周围地区分布的雷数等等。 第二就是对鼠标事件的处理,即在游戏过程中对鼠标事件应如何做出反应。 本论文以Qt作为开发软件,首先使用信号与槽的方法实现菜单、工具栏的功能,其次又以MousePressEvent鼠标事件发出信息来了解使用者的意图,进而做出相对应的动作,再次介绍了清除地雷区方块的方法,通过递归程序的编写,在程序代码上会变得相当简洁。最后利用布局管理组(Layouts)进行整体布局。 使用C++语言设计完成了扫雷游戏的初始化界面,实现了扫雷游戏的计时、重新开始、难度设置、排行榜、帮助等功能。还增加了游戏在成败时弹出对话框等功能。总的来说本次设计在功能上已经基本达到预期的要求。但还有一些不足,比如扫雷游戏设计还可以添加一些背景音乐、背景图片、视频等功能,更能增加人们的娱乐性。关键词:扫雷游戏;Qt;C++

ABSTRACT Minesweeper game is a classic game, the game can not only allow people to fully enjoy the entertainment purposes, and by this small game development logical reasoning ability and judgment. The graduation project to Qt4.6 development environment, design and development of Qt-based game of Minesweeper. The minesweeper game the following two aspects: The first is the initialization problems, including randomly generated number of Council Game Ray Ray distribution for each small area how to get around the geographical distribution of Ray. The second is the processing of mouse events, mouse events in the course of the game how to react. In this thesis, QT signals and slots as the development of software, the first to use the method to achieve the functionality of the menus, toolbars, followed Youyi mousePressEvent mouse events issued information to understand the user's intent, and then make a corresponding action, again introduced a clear Minefields box by recursive program code will become quite simple. Finally, the the layout management group (Layouts) overall layout. Completed minesweeping games initialization interface design, to achieve a mine-sweeping game of timing, start again, difficulty settings, rankings, help functions using the C language. Game in the success or failure of the pop-up dialog box. Overall, the design function has basically reached the expected requirements. But there are some disadvantages, such as minesweeping game design can also add some background music, background image, video, and can help increase people's entertainment. Keywords: Minesweeper game; Qt; C++

java课程设计题目

java课程设计题目 设设HoMEWORK2012-02-2819:23 要求设明, 1.人一设~每设设设设一设目~如果列出多版本~只需要完成其中一版本两个个个即 可 2.由设委设设设设设各设设及其设目~下周以设子模式提交设目列表名设学档 3.每设必设完成相设的UML设;至少需要包括用例设、设设、设序设或者设作设,~UML 设可有Visio或者Rose或者StarUML或其他设似的工具完成 4.第六周设始机抽设设大家演示设述从随 设目列表如下, 1.打字游设(JavaGUI本地版/JSP版本/Javascript) 2.设文件设行明文加密(JavaGUI本地版) 3.在设设店设设站网(WEB版本) 4.5子棋游设(设版网/WEB版) 5.俄设斯方设(设版网/WEB版) 6.音设播放器(JavaGUI本地版) 7.设子相册(JavaGUI本地版) 8.多人聊天室((JavaGUI本地版/WEB版)9.模设考设系设(WEB版) 10.克游设扑(JavaGUI本地版/WEB版) 设设设明, 1.打字游设(JavaGUI本地版/JSP版本/Javascript)

设设背设设和打字速度, 可根据一片文章自设设入设设 整设设下落或者淡入淡出个 同设多设设出设个 设设入设设的设设分析设设功能 设分 2.设文件设行明文加密(JavaGUI本地版) DEC加解密,需要密设~可以解密 3.在设设店设设站网(WEB版本) 设设目的目的是设设一设合站~设设《在设设店》的基本功能~如管理设设~上设个网网 售网设设等功能。要求站能设布到Internet上。设站采用网 Jsp+JavaBean+JDBC+MySql|SQLServer等技设架~服设器端采用框Tomcat服设器。 4.5子棋游设(设版网/WEB版) 设设程序~完成下述功能,在大于9设的方形格棋设上~放置黑白色棋子条网两~两网弈两条人各设一色~通设设设~可以在任何设的交点上放置棋子~同色棋子~先同行、同列或者同设角设上5设设成一设者设设。条 5.俄设斯方设(设版网/WEB版) 设设程序~完成下述功能, 完成一可以人通设设设设的俄设斯方设游设~每一方都可以在自己的幕个两个网屏 上看到设方的前游设~游设先设束的一方设失设者当状况 6.音设播放器(JavaGUI本地版)

C程序课程设计报告(扫雷游戏)

C程序设计 扫雷游戏 一、设计题目:扫雷游戏 二、设计目的 1.使学生更深入地理解和掌握该课程中的有关基本概念,程序设计思想和方法。 2.培养学生综合运用所学知识独立完成课题的能力。 3.培养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。 4.提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基

本素质。 5.培养学生从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 6.对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。 三、设计要求 1.汪洋和孔维亮组成设计小组。小组成员分工协作完成。要求每个成员有自己相对独立的模块,同时要了解其他组员完成的内容。 2.查阅相关资料,自学具体课题中涉及到的新知识。 3.采用结构化、模块化程序设计方法,功能要完善,界面要美观。 4.按要求写出课程设计报告,并于设计结束后1周内提交。 一概述 1)掌握数组指针的概念及其应用 2)培养团结合作精神 2. 课程设计的要求 要求我们有扎实的C语言知识,以及良好的编程习惯,能够熟练的应用循环,有毅力,还要求我们有较强的合作精神,善于总结。同时还要求我们自学C语言作图部分知识。在必要时还要上网查相关资料。 3.课程设计的主要设计思想 扫雷游戏主要用了一个10行10列的二维数组,刚开始利用random随机布雷。 每一个程序最主要的是算法。扫雷游戏算法的重点是一开始统计好每个格子周围有多少雷,当鼠标左键点在格子上时做出判断,如果周围8个格子有雷则显示出雷数,如果没有雷则显示空白格(在四个角的格子显示周围3个格子,其它边缘的格子显示周围5个的状态),我们在主函数中用两个for语句来判断周围雷数。我们还加了鼠标处理函数。 如果格子上有雷则调用函FailExitGame(),显示“Fail!”,游戏结束。若所有的雷都标出,且所有的格子都处理过,则调用函数ExitGame(),显示“OK,Good!”,游戏结束。游戏结束后,按任意键出去。

Java万年历课程设计报告

杭州师范大学钱江学院课程设计 题目万年历 学院钱江学院 专业信电分院计算机科学与技术 班级计算机1101 姓名崔伊平 指导教师王李冬 2013 年9 月20 日

目录 一.概述 (1) 二.总体方案设计 (2) 三.详细设计 (3) 四.最终输出 (7) 五.课程设计总结 (8) 参考文献 (9)

一、概述 1.课程设计的目的 通过显示年日历程序的设计,培养学生综合利用java语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力。 通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《java语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了java语言的好处和其可用性! 2.课程设计的要求 2.1 输入查询的年份与月份,单击“更新”按扭,则可得到相应的日历。本实验是对图形用户界面,布局管理器的综合运用。要掌握APPLET容器中添加组件的方法,理解JAVA 的事件处理机制,编写独立的运行窗口。 2.2 输出形式 使用独立的运行窗口进行显示。界面主要由两部分组成——查询输入部分和结果显示部分。查询输入部分包括两个文本域,一个用于输入年份:一个用于选择月份:一个更新按扭,用来触发查询事件。

二总体方案设计 1.程序开发环境 a.开发环境:eclipse b.系统环境:windows xp/7 c.设计工具:Microsoft office 2003 2.整体流程图 图1 流程图 3.功能模块图

游戏开发课程设计报告模版-扫雷游戏报告(定稿)

中原工学院信息商务学院 课程设计报告 2016~2017学年第一学期 课程游戏开发课程设计 课程设计名称扫雷游戏 学生姓名*** 学号***** 专业班级数媒141 指导教师郑全录 2016年12月

目录 第一章设计内容及要求 (1) 1.1 扫雷游戏的基本要求 (1) 1.2 游戏需要实现的主要功能 (1) 第二章需求分析 (2) 2.1扫雷游戏界面设计 (2) 2.2 雷区的设计 (2) 2.3 音效的设计 (3) 2.4 扫雷英雄榜的设计 (3) 第三章总体设计 (5) 3.1 总体功能图 (5) 3.2 总体流程图 (5) 第四章主要功能设计流程 (6) 4.1 雷区设计流程图 (6) 4.2 音效设计流程图 (6) 4.3 英雄榜设计流程图 (7) 第五章主要功能设计流程 (8) 5.1 类之间关系图 (8) 5.2程序运行效果图 (8) 5.2.1 游戏登录界面 (8) 5.2.2游戏菜单界面 (9) 5.2.3游戏运行界面 (10) 5.2.4游戏英雄榜界面 (12) 第六章总结 (13) 参考文献 (14) 附录 (15)

第一章设计内容及要求 1.1扫雷游戏的基本要求 当前各种游戏层出不穷,因为游戏的开发成本非常大,所以游戏的开发具有一定的风险性,但是一些小游戏的开发成本具有成本小,编写简单的优势,所以这些小游戏在游戏开发中也占有一席之地。在这类小游戏中包括益智类游戏,它以画面精美、游戏方法简单等特点得到大家的认可。成为人们在工作之余不可或缺的好伙伴。针对这种情况我选择了扫雷游戏该课题作为我的课程题目。 Windows XP和Windows 7系统提供的扫雷游戏是一个很有趣的游戏。本次课程设计的主要任务是使用JA V A语言编写一个与其类似的扫雷游戏。具体要求如下: 1、扫雷游戏分为初级、中级和高级三个级别,同时扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。 2、选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击雷区中任何一个方块便启动了计时器。 3、用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下没有雷,则显示一个数字,该数字代表此方块周围的8个方块中共有多少颗雷。 4、如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),窗口左上角的雷数计数器将会减少一个。 5、扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。 6、用户如果遇到疑问的方块,可以勾选游戏菜单下的标记选项卡(或者用快捷键Alt+G然后点击M)即可标记该可疑方块,此时双击右键并可出现“?”标记。另有颜色选项,当用户选中该项时,游戏将以最低图像像素来显示。 7、如果用户需要使用提示声,可选中声音选项,此时将听到计时的咔嗒声。当用户点中雷时,将有爆炸声产生;胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。 1.2游戏需要实现的主要功能 1、用户可以自定义级别并且可以任意输入雷数; 2、具有计时功能,既显示用户完成所有扫雷任务所需要的时间; 3、自动保存扫雷英雄榜。

基于C++的扫雷游戏设计与实现

1 引言 扫雷最原始的版本可以追溯到1973年一款名为“方块”的游戏。不久之后,“方块”被改写成了游戏“Rlogic”。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆·安德森在“Rlogic”的基础上又编写出了游戏“地雷”,由此奠定了现代扫雷游戏的雏形。1981年,微软公司的罗伯特·杜尔和卡特·约翰逊两位工程师在Windows 3.1系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。 1.1 开发背景 在计算机逐步渗入社会生活各个层面的今天,计算机已经成为了人们日常生活中的一部分,越来越多的人使用计算机办公、娱乐等等。 扫雷游戏是Windows操作系统自带的一款小游戏,在过去的几年里,Windows操作系统历经数次换代更新,变得越来越庞大、复杂,功能也越来越强大,但是这款小游戏依然保持原来的容貌,可见这款小游戏受到越来越多人的喜爱。本次的毕业设计我将利用Visual C++作为开发工具,开发一款类似的“扫雷游戏”。 1.2开发的目的以及意义 经过四年的大学学习,我对理论知识已经有了一定的了解与认知,本次的毕业设计便是将书本上所学的理论知识与实际相结合,同时也是对所学知识的一种检查,希望通过本次的毕业设计使自己在程序的开发和设计上有新的认识并能有所提高。本次毕业设计既锻炼了我们的实际动手能力,又在老师的指导下进行了一次模拟实际产品的开发,对于我们以后工作能力的培养具有重要意义。 2 需求分析 2.1 功能概述 扫雷游戏的游戏界面如图1所示。在这个界面中,由众多面积均等的小方块所组成的区域称之为雷区,雷区的大小由用户设置的游戏等级决定。

JAVA课程设计题信息B131112目及要求

Java课程设计题目及要求 一、课程设计总体要求: 本次课程设计是对前面学过的所有面向对象的编程思想以及编程方法的一个总结、回顾和实践,学生确定设计题目后,要明确本次课程设计所要用到的技术点,回顾之前学习的这些知识点,或者到网上搜索以及查阅相关的书籍来搜集资料。通过编写一个基于JAVA的应用系统综合实例,来掌握Java语言编程技巧。 二、参考题目及要求:(从中选择一个题目) 1.编写一个记事本程序 要求: 用图形用户界面实现。 能实现编辑、保存、另存为、查找替换等功能。 提示:使用文件输入输出流。 2.编写一个计算器程序 要求: 界面模拟Windows中的计算器程序。 实现基本数学运算、函数等功能:加、减、乘、除、阶乘、指数运算。 实现要点:添加相关组件并进行按钮事件处理和键盘事件处理。 3.学生信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个学生信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。 4、图书信息管理系统 要求: 使用图形用户界面 用数据库建立1或2个图书信息表。(不限使用哪种数据库) 能连接数据库并实现查询、增、删、改等功能。 5.ATM柜员机模拟程序 要求:使用图形用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行: (1)查询余额:初始余额为10000元 (2)ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。 (3)ATM存款:不能出现负存款。

(4)修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。 6.超市收银系统 要求:使用图形用户界面。 由收银员输入顾客的会员卡卡号(若有卡)、所购商品的货号等。从数据库中取出有关价格信息,再把这些信息返回给收银台。同时把该收银台的销售总量和有关种类商品的剩余量以及该持卡顾客的消费情况交数据库存储以供查询。 另外,对没有卡的消费情况不记录该顾客的消费情况等个人信息。如果一个未持卡顾客一次购物满200元,可为其发放一张会员卡,以后在该商场购物可向9折优惠。 7.对对碰游戏 功能要求:该程序显示GUI用户界面,界面中随机安排10对图片,背面向上,当翻开的2张图片相同时就消失,不相同时重新翻回背面,最终显示用时和分数(=400-翻的次数)。 界面要示:图形界面实现。 8.绘图板 功能要求:实现简单绘图功能,具体要求:画直线,画空心或实心椭圆、画空心或实心矩形、画多边形(图形的位置和大小也可在界面中设定)。

VB做扫雷游戏_毕业设计

编号 南京航空航天大学 毕业论文 题目用VB实现一个简单的游戏

南京航空航天大学 本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的毕业设计(论文)(题目:)是本人在导师的指导下独立进行研究所取得的成果。尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。 作者签名:年月日 (学号):

用VB实现一个简单的游戏 摘要 当前,随着计算机应用及网络的的深入普及,越来越多的政府部门、厂矿企业、学校等单位及个人都拥有了自己的计算机,计算机不仅在工作方面给人们以很大的帮助,还给人们带来了多种的娱乐享受.,操作系统自带的游戏也起到了很大的娱乐作用,而且它的开发成本小,所以小游戏的开发在这种形势下就应运而生,它的开发主要采用VC++ ,VB 等编程语言. 本设计采用VB编写,VB一直以来被认为有以下优缺点:优点是上手快、开发效率高;缺点是能力有限,运行效率低.这正是有些软件把VB做为首选语言,而有些软件肯定不会用VB做的原因.而很多VC,DELPHI的程序员都认为VB里搞开发不自由.的确,简单和功能强大这两者本身就是一对矛盾. 扫雷游戏是操作系统中的一个主要的益智类游戏. 用户对鼠标进行操作,单击鼠标左键为踩雷,单击鼠标左键在标记,疑问,空白三种状态中循环,同时单击鼠标左右键为踩单击点在内的周围九格内所有没有标记为已标记的所有格子.同时程序从你单击第一次时开始计时,到胜利或引爆地雷终结.结束后单击开始按钮重新开始游戏.这款游戏实现了开发人类大脑思维的目的. 关键词VB,扫雷游戏 Realizes a simple game with VB

java课程设计报告 标准化考试系统

甘肃政法学院计算机科学学院Java程序设计课程设计 题目标准化考试系统 计算机科学学院计算科学与技术专业11级专升本班 学号:201181210115 姓名:刘昆明 指导教师:李瑞生 成绩:____________ 完成时间:2011年 11月

目录 1.设计内容及要求 (1) 1.1 标准化考试系统的基本要求 (1) 1.2 需实现的主要功能 (1) 2.需求分析 (2) 2.1数据库设计 (2) 2.2服务器端和客户端的数据传输方式 (2) 2.3 服务器端功能设计 (2) 2.4客户端功能设计 (3) 3.总体设计 (4) 3.1 总体功能图 (4) 3.2 总体流程图 (6) 4.数据库设计 (7) 4.1 数据库及表结构的建立 (7) 4.2 JAVA 数据库的连接 (8) 5. 主要功能设计流程 (8) 5.1服务器端设计流程图 (8) 5.2客户端设计流程图 (9) 6.代码实现 (10) 6.1类之间关系图 (10) 6.2 运行效果图 (11) 6.3 程序打包发布过程 (17) 7. 总结与说明 (18) 8. 参考文献 (18)

标准化考试系统设计与实现 【摘要】:在现今知识爆炸的年代里,教学的质量和怎样提高教师的工作效率成了各大院校的首要任务。找题、选题和出卷就成为一项非常重要的工作。每学期教师都要为各类考试付出大量的精力和工作,尤其是一位教师教授多门学科的时候,工作量将成倍增加。因此开发此考试系统,对各专业课程的问卷进行整理入库,以便在需要的时候能够及时、方便、快速的对学生进行各级测试,从而使考试过程趋于简单化,减少教师在这方面的工作负担。 因此,使用现在的新技术,开发出适应新的需求的新系统刻不容缓。 四年的大学生活转瞬既逝,在这四年中,我系统的学习了计算机科学与技术专业的所有课程。深入的学习了各个科目的理论知识,对专业知识有了整体的掌握。在即将毕业之际,为了理论联系实际,检验自己的学习成果,我选择了这个题目作为课程设计。在此毕业设计的完成过程中,我严格遵循软件开发的过程,将理论知识与具体问题相结合。在应用程序开发中我一方面学习了软件编程思想,另一方面具体的运用了JAVA语言。体会了他的诸多功能和特色。熟悉了数据库应用程序的开发原理。确实达到了学校和辅导教师对我们应届毕业生的各种要求。 【关键词】:J2ME;标准化考试;设计与实现 1

java扫雷游戏课程设计报告

Java课程设计报告 姓名 号学 系院 级班 业专 1.设计内容及要求 1.1 扫雷游戏的基本要求 Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下: (1) 扫雷游戏分为初级、中级和高级三个级别,扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。 (2) 选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。 (3) 用户要揭开某个方块,可单击它。若所揭方块下有泪,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。. (4) 如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为

是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。 (5) 扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。 (6)用户可以选择标记疑问的方块,用可以勾选游戏菜单下的标记(或者用快捷键alt+G 然后M)即可,此时双击右键并可出现“?”标记。另有颜色选项,当用户勾选此项时,游戏将以最低图像像素来显示。 (7)如果用户需要即使提示声,并可选中声音选项,此时将听到计时的卡塔声。当用户点中雷时,将有爆炸声产生,胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。 1.2 需实现的主要功能 (1)用户可以自定义级别并且可以任意输入雷数; (2)具有计时功能,即显示用户完成移动盘子所花费的时间; (3)用户可以选择是否有音效; (4)自动保存扫雷英雄榜; 2.需求分析 2.1 扫雷棋盘的布局设计 系统的整体布局为:CardLayout布局, 采用了菜单、按钮、面板…等组件,菜单主要包括开始,选择级别,标记,扫雷英雄榜,退出,按钮的功能是重新开始新的游戏。 2.2 雷区的设计 MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener 和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。标明MineArea类的主要成 图2-1 MineArea类的UML图

java课程设计(扫雷游戏)

成绩评定表

课程设计任务书

目录 1.设计目的----------------------------------------------------------------------------- 4 2.总体设计----------------------------------------------------------------------------- 4 2.1设计需求------------------------------------------------------------------------------------------ 4 2.2程序功能模块图----------------------------------------------------------------------------------- 4 3.关键技术----------------------------------------------------------------------------- 7 4.程序流程----------------------------------------------------------------------------- 8 5.主要源代码-------------------------------------------------------------------------- 8 6.运行结果及结论------------------------------------------------------------------- 27 7.参考文献--------------------------------------------------------------------------- 29

扫雷游戏-课程设计报告

J A V A课程设计题目:扫雷游戏 院(系)计算机信息工程学院 专业网络工程 班级 13级网络工程1班 学生姓名方琴刘莉虹程子卿薛中意 设计时间 2015年8月 指导教师万中英

提交日期 2015年10月8日 摘要 《扫雷》是一款大众类的益智小游戏。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷。先任意点开少量的方格,没有爆炸时,会出现一个数字,这个数字代表的意思是以它为中心的9个格子内所有雷的个数。一般围在一堆数字中间的有可能是雷,你在你认为是雷的那里插旗,就可以把它设定为雷,然后在数字区用鼠标左右键双击,可以打开非雷区,等打开所有非雷区,你就赢了。 采用GUI界面设计,窗口定位,绘图机制,鼠标监听等Java技术。用户可以自己选择地雷的数量,地雷随机分布在17*24的方块矩阵中,地雷数量越多,难度越大。鼠标放在方格上,单击鼠标左键开始游戏,按空格键插旗。如果插旗错误,或是点击到了地雷,则游戏失败。

1 引言 该设计的目的及意义 该设计的要求 相关技术 2 总体设计 功能设计 3 详细设计 系统界面设计 流程图 界面截图

程序描述 选择地雷数量 游戏界面 4 课程设计总结 遇到问题解决问题过程 系统存在的问题,进一步要做的工作 课程设计心得体会 5 附录(程序代码) 该设计的目的及意义

1.利用扫雷游戏巩固和Java语言程序设计这一课程的基本 知识的理解和掌握; 2.掌握Java语言程序设计中编程和程序调试的基本技能; 3.基本掌握完全面向对象程序设计的基本思路和方法; 4.利用Java语言程序设计学会基本的软件设计; 5.掌握书写程序设计说明文档的能力。 课程设计要求 1. 分析课程设计题目的思路及要求; 2. 编写程序代码,调试程序使其能正确运行; 3. 设计完成的软件要便于操作和使用,有整齐、美观的使用界面; 4. 能实现简单的扫雷游戏; 相关技术

java扫雷游戏计算机毕业设计中期检查表、中期报告

毕业论文中期检查表

毕业设计中期报告 一、毕业设计进度: 我的毕业设计过程中包括可行性分析、需求分析、概要设计、详细设计和测试。现在可行性分析、需求分析、概要设计均已基本完成,关于测试已完成了系统测试,详细设计也大体完成,只有少数功能仍需添加,另外还需把界面进一步美化。关于代码已经基本编写完成,所以程序已经能够跑起来,可以展现出该毕业设计的主要界面,其功能也基本可以实现。关于毕业论文,框架基本搭建好了,之后再对可行性分析、需求分析、概要设计、详细设计和测试这五个部分的内容填充的充实一些,把之后改进和添加的功能再加进去就基本完成了。所以,总体来说,现阶段已完成毕业设计的85%。 二、毕业设计主要内容: 本次毕业设计所设计的是JAVA版扫雷游戏,需要使用JAVA语言完成扫雷游戏的界面及各个功能模块,其中使用了JAVA语言的一些特性(如通用性、高效性、平台移植性和安全性等)和复杂算法(如使用了Math类中的random()方法来产生随机数,用于布雷时随机指定雷所在的位置等)等。 关于扫雷游戏的界面,需要完成的有两大块,即菜单区和雷区。菜单区包含游戏(点击可选择初级、中级、高级),帮助(可查看扫雷游戏说明),计时器(显示游戏进行时间),开始(点击可开始游戏)以及雷数显示器(显示玩家标记后的剩余雷数)。雷区由许多小方块组成,根据级别不同,方块数目不同,但均由横纵块数不同的小方块组成。 另外,本次毕业设计中最主要的是关于扫雷游戏的功能设计,其主要内容是使用JAVA语言编写要完成游戏所拥有的各个功能及界面上各个按钮的实现,其中主要包括以下四个功能: (1)玩家可以自己选择游戏级别,且级别不同,雷数不同; (2)游戏具有计时功能,即可显示玩家从游戏开始后所花费的时间; (3)玩家可以右键标记雷数,无论此方块是否为雷,雷数均减一; (4)点击方块,未踩到雷时,必须保证其周围8个方块中雷数与方块显示的数字相同。

VB做扫雷游戏毕业设计

编号 毕业论文 题目用VB实现一个简单的游戏 学生姓名 学号 学院 专业 班级 指导教师

用VB实现一个简单的游戏 摘要 当前,随着计算机应用及网络的的深入普及,越来越多的政府部门、厂矿企业、学校等单位及个人都拥有了自己的计算机,计算机不仅在工作方面给人们以很大的帮助,还给人们带来了多种的娱乐享受.,操作系统自带的游戏也起到了很大的娱乐作用,而且它的开发成本小,所以小游戏的开发在这种形势下就应运而生,它的开发主要采用VC++ ,VB 等编程语言. 本设计采用VB编写,VB一直以来被认为有以下优缺点:优点是上手快、开发效率高;缺点是能力有限,运行效率低.这正是有些软件把VB做为首选语言,而有些软件肯定不会用VB做的原因.而很多VC,DELPHI的程序员都认为VB里搞开发不自由.的确,简单和功能强大这两者本身就是一对矛盾. 扫雷游戏是操作系统中的一个主要的益智类游戏. 用户对鼠标进行操作,单击鼠标左键为踩雷,单击鼠标左键在标记,疑问,空白三种状态中循环,同时单击鼠标左右键为踩单击点在内的周围九格内所有没有标记为已标记的所有格子.同时程序从你单击第一次时开始计时,到胜利或引爆地雷终结.结束后单击开始按钮重新开始游戏.这款游戏实现了开发人类大脑思维的目的. 关键词VB,扫雷游戏

Realizes a simple game with VB Abstract Front, is applied along with the calculator and network of of the thorough universality, more and more governments section, factory mineral business enterprise, school...etc. unit and individual all owned own calculator, the calculator is not only to give people in the aspects of working with the very big help, returning to people brought various amusements enjoys., the operate system also rose from the game that take very big amusement function, and it of the cost of development is small, so the development of the get-away drama under this kind of situation emerge with the tide of the times, it of main adoption in development VC++, VB etc. plait distance language. This design adoption VB plait writes, the VB hases been passing for to have since then below merit and shortcoming:The advantage is to undertakes quick, development the efficiency is high;The weakness is an ability limited, circulate the efficiency low.This exactly some softwares is used as a reason for choose the language, but some softwares is affirmative and do with the VB of VBs.And a lot of VCs, the DELPHI procedure member thinks the VB in make the development not free. Really, it is simple to is strong and big with the function this both oneself is an one rightness antinomy. The mine clearance game is an operate system inside of a grows in wisdom a game primarily. The customer proceeds the operation to the rat mark, the left key in mark in rat in single shot is for trampling the thunder, the single shot rat marks the left key in marking, question, blank three kinds of appearances circulating, the single shot rat marks or so key as to trample at the same time the single shot orders the surroundings in inside nine the marking had in spaceses are already all blanks of the marking.At the same time procedure is from you single shot first time hour starts accounting, arrive victory or set off the land mine end.Ending the single shot in empress starts pressing button restarting the game.This game realizes the purpose of the human brain in development thought. Key words:VB,The mine clearance game 目录

相关主题
文本预览
相关文档 最新文档