欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    扫雷教案资料.docx

    • 资源ID:6003013       资源大小:1.60MB        全文页数:28页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    扫雷教案资料.docx

    1、扫雷教案资料扫雷郑州工业应用技术学院课程设计说明书题目 扫雷游戏实验设计 专业班级 学号1姓名主要目的:实训主要是锻炼我们的操作能力,将学习的理论知识运用于实践当中,反过来还能检验书本上理论的正确性,有利于融会贯通。让我们对本专业知识形成一一个客观,理性的认识,从而不与社会现实相脱节。基本要求:1.深入学习和理解Java原理,掌握Java编程方法。 2.深入分析扫雷游戏运行流程,绘制程序流程图。主要参考资料:1 Eric. Java编程思想M. 第4版. 机械工业出版社, 机械工业出版社.2 杜波依斯. MySQL技术内幕M. 第4版. 人民邮电出版社 , 2011年3 林信良. JSP &

    2、Servlet学习笔记M. 清华大学出版社, 2012年4 张峋, 杨三成. JSP与JDBC应用详解M.中国铁道出版社, 2010年完 成 期 限 10月7日-12月10日 指 导 教师签名 课程负责人签名 摘要Sun Microsystems公司在推出Java语言的同时,推出了一套开发工具JDK。Sun提供的基于字符模式的Java开发工具包JDK: Java开发工具(JDK)是许多Java专家最初使用的开发环境。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。所有的

    3、Java文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心JavaAPI是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。JDK 是整个Java的核心,包括了Java运行环境(Java RuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。JDK里面是java类库和java的语言规范,它提供的是无论你用何种开发软件写java程序都必须用到的类库和java语言规

    4、范.没有jdk,你的java程序根本就不能用。最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比SunJDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。关键词:扫雷游戏;算法设计;事件;AVA第一章 概述本课程设计的目标是设计一个名为扫雷的游戏软件,扫雷游戏分为初级、中级和高级三个级别。单击游戏菜单可以选择“初级”、“中

    5、级”和“高级”。1、选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击“开始”便启动计时器。2、用户要揭开某个方块,可左键单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下无雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。3、如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。1.1课程设计目的通过选择扫雷游戏软件设计,这个综合性的题目作为本次的课程设计。可以让我们更加熟悉Java程序设计这门课程,学会熟练使用Java这个软件,加深对

    6、Java语言的掌握,提高编程水平。同时培养独立思考和同学间团结合作的能力,为毕业设计以及将来的工作打下坚实的基础。1.2预备知识JAVA是一种功能强大和多用途的编程语言,具有面向对象、与平台无关的、安全、稳定和多线程等优良特性,可用于开发大型的应用程序,而且特别适合Internet应用的开发。java是由James Gosling在Sun公司的领导的小组开发的,最初成为Oak(橡树),1995年更名为java。JAVA语言规范、API(应用程序接口)、JDK(java开发工具包)、IDE(集成开发环境):Java语言规范定义了Java的语法,Java库则在Java API中定义;JDK是用于开

    7、发和运行java程序的软件;IDE是快速开发程序的集成开发环境。java是一门编程性的语言,编程时区分大小写,我们需要多加练习才能快速有效的提高。要知道java是分两部分的:一个是编译,一个是运行。javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指定扩展名的.java文件进行编译。生成了jvm可以识别的字节码文件。也就是class文件,也就是java的运行程序。JAVA:负责运行的部分.会启动jvm加载运行时所需的类库,并对class文件进行执行.每个java程序至少有一个类,类名是按照惯例都以大写字母开头,一个文件要被执行,必须要有一个执行的起始点,这个起始

    8、点就是main函数。编程中一个良好的习惯就是写注释,分为行注释 /(注释的内容) 和块注释/(注释的内容)。1.3课程设计内容和要求Windows2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下:(1)扫雷游戏分为初级、中级和高级三个级别,扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”。(2)选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。(3)用户要揭开某个方块,可单击它。若所揭方块下有泪,用户便输了这一局,若

    9、所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。(4)如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。(5)扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。(6)如果用户需要即使提示声,并可选中声音选项,此时将听到计时的卡塔声。当用户点中雷时,将有爆炸声产生,胜利时,将有凯旋的旋律播放。第二章 需求分析2.1 系统目标本系统主要是完成俄罗斯方块游戏的基本操作,在玩游戏的过程中玩家可以放松心情得到娱乐。2.2主题功能(1) 用户可以

    10、自定义级别并且可以任意输入雷数;(2) 具有计时功能,即显示用户完成移动盘子所花费的时间;(3) 用户可以选择是否有音效;2.3开发环境操作系统可以有以下几种:WinXP/WinVista/Win7。硬件要求:奔腾四处理器,主频2.0GHz,512M以上内存。2.4概念设计随着社会的不断进步,人们的压力也不断的提高,在游戏层出不穷的时刻,扫雷游戏任然受到不少人的青睐,其本身的性质,决定了人们对它的喜爱的程度,不需要特殊的技巧,不需要不断的升级,还不需要太多的时间进行熟悉,简简单单却趣味无穷。扫雷最原始的版本可以追溯到1973年一款名为“方块”的游戏。不久之后,“方块”被改写成了游戏“Rlogi

    11、c”。在“Rlogic”里,玩家的任务是作为美国海军陆战队队员,为指挥中心探出一条没有地雷的安全路线,如果路全被地雷堵死就算输。两年后,汤姆安德森在“Rlogic”的基础上又编写出了游戏“地雷”,由此奠定了现代扫雷游戏的雏形。1981年,微软公司的罗伯特杜尔和卡特约翰逊两位工程师在Windows3.1系统上加载了该游戏,扫雷游戏才正式在全世界推广开来。Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java 语言也是学习面向对象编程和网络编程的首选语言。该课题的主要目的是使Java游戏开发者深入理解所学的Java语言,并实践于该俄罗斯方块游戏设计中,深刻体会以前所学的有关

    12、Java 程序设计方面的语言基础、异常处理、事件处理、应用程序以及图形用户界面设计等方面的知识,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构等。学会使用Java系统,其中包括对程序的调试、运行、保存等知识的运用,还包括提高程序开发功能,能运用合理的方法简化Java程序的操作,开发过程中应培养分析问题、解决问题的能力。本次课程设计的主要目的是为了通过具体的程序来加深对Java语言的掌握,提高自己的编程水平。选择的题目来自Java课程设计(第二版)中的扫雷游戏,这是一个综合性的题目,可以对Java中的各项功能有更好的理解和使用,同时也为以后的工作打下一定的基础。第三章

    13、设计步骤3.1 程序流程图下图为扫雷流程图,点击开始进入初始化,进入循环。如图3.1所示:图3.1 扫雷程序流程图3.2雷区设计流程图扫雷逻辑分析也很重要,敲一个好的游戏,首先就要分析游戏逻辑,下图为扫雷雷区图,如图3.2所示:图3.2扫雷雷区流程图3.4游戏背景图扫雷游戏背景也很重要,拥有一个好的背景图会让玩家拥有更好的体验感,下图为1扫雷游戏背景图图,如图3.3所示:图3.3扫雷背景图图第四章设计正文4.1 AllButtonPanel()类:AllButtonPanel代码如下:package cleanMine;import javax.swing.*;import java.awt.

    14、*;import java.awt.event.*;/* * 显示所有按钮的面板 * author Administrator * */public class AllButtonPanel extends JPanel implements ActionListener private int row;/行数 private int col;/列数 private int mineCount;/地雷数 private MineButton allButtons;/所有按钮public AllButtonPanel(int row,int col,int mineCount) this.row

    15、=row; this.col=col; this.mineCount=mineCount; allButtons=new MineButtonrowcol; createButtons(); createMine(); init(); private void init() this.setLayout(new GridLayout(row,col); for(int i=0;iallButtons.length;i+) for(int j=0;jallButtonsi.length;j+) this.add(allButtonsij); /* * 随机布雷的方法 * */ private v

    16、oid createMine() int n=0; while(nmineCount)/随机生成mineCount个地雷 int i=(int)(Math.random()*row); int j=(int)(Math.random()*col); if(allButtonsij.getCountOfSurroundMines()!=-1) allButtonsij.setCountOfSurroundMines(-1); n+; for(int i=0;iallButtons.length;i+)/计算每个位置的周围地雷数 for(int j=0;j=0&j-1=0) num+=(allBu

    17、ttonsi-1j-1.getCountOfSurroundMines()=-1?1:0); if(i-1=0) num+=(allButtonsi-1j.getCountOfSurroundMines()=-1?1:0); if(i-1=0&j+1=0) num+=(allButtonsij-1.getCountOfSurroundMines()=-1?1:0); if(j+1allButtons0.length) num+=(allButtonsij+1.getCountOfSurroundMines()=-1?1:0); if(i+1=0) num+=(allButtonsi+1j-1.

    18、getCountOfSurroundMines()=-1?1:0); if(i+1allButtons.length) num+=(allButtonsi+1j.getCountOfSurroundMines()=-1?1:0); if(i+1allButtons.length&j+1allButtons0.length) num+=(allButtonsi+1j+1.getCountOfSurroundMines()=-1?1:0); return num; /* * 生成按钮 * */ private void createButtons() for(int i=0;iallButtons

    19、.length;i+) for(int j=0;jallButtonsi.length;j+) allButtonsij=new MineButton(i,j); allButtonsij.setSize(6,6); allButtonsij.addActionListener(this);/添加点击事件监听 allButtonsij.addMouseListener(new MouseAdapter()/添加鼠标右键事件监听 public void mouseClicked(MouseEvent e) if(e.getButton()=MouseEvent.BUTTON3) int rema

    20、in=Integer.parseInt(CleanMine.remainMine.getText(); JButton b=(JButton)e.getSource(); if(b.getText().equals() remain-; CleanMine.remainMine.setText(remain+); b.setText(&); else if(b.getText().equals(&) remain+; CleanMine.remainMine.setText(remain+); b.setText(); ); public void actionPerformed(Action

    21、Event e) /点击事件监听的方法 MineButton b=(MineButton)e.getSource(); int r=b.getRow(); int c=b.getCol(); if(allButtonsrc.getCountOfSurroundMines()=-1)/如果是地雷 for(int i=0;iallButtons.length;i+)/把所有按钮都显示出来for(int j=0;j=0&j-1=0) showEmpty(i-1,j-1); if(i-1=0) showEmpty(i-1,j); if(i-1=0&j+1=0) showEmpty(i,j-1); if

    22、(j+1allButtons0.length) showEmpty(i,j+1); if(i+1=0) showEmpty(i+1,j-1); if(i+1allButtons.length) showEmpty(i+1,j); if(i+1allButtons.length&j+10) b.setText(allButtonsij.getCountOfSurroundMines()+); b.setBackground(Color.CYAN); b.setCleared(true); 4.2cleanMine类cleanMine代码如下:package cleanMine;import ja

    23、vax.swing.*;import java.awt.*;import java.awt.event.*;/* * 扫雷游戏主界面 * author tony.tang * */public class CleanMine extends JFrame implements ActionListener private JLabel text1,text2; public static JLabel remainMine;/剩余地雷数 private JLabel time;/消耗时间 private JButton reset;/重新开始 private JPanel center; pr

    24、ivate int row,col,mine; public CleanMine() text1=new JLabel(剩余地雷:); text2=new JLabel(消耗时间:); remainMine=new JLabel(10); time=new JLabel(0); reset=new JButton(重新开始); reset.addActionListener(this); JMenuBar bar=new JMenuBar(); JMenu game=new JMenu(游戏); JMenu help=new JMenu(帮助); JMenuItem item; game.add(item=new JMenuItem(开局);item.addActionListener(this); game.addSeparator(); ButtonGroup bg=new ButtonGroup(); game.add(item=new JCheckBoxMenuItem(初级,true);bg.add(item);item.addActionListener(this);


    注意事项

    本文(扫雷教案资料.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开