ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:503.32KB ,
资源ID:11232917      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-11232917.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(题目二扫雷游戏.doc)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

题目二扫雷游戏.doc

1、题目二 扫雷游戏2.1 题目需求简要阐述设计题目的功能要求等。首先,对游戏了解的多少分别设置了不同的级别,玩家可以随着自己对游戏的熟悉程度不断加深而选择万更高的级别,可谓趣味百出,其乐无穷啊!2.2 设计的内容及要求设计内容:设计要求:1、扫雷游戏氛围初级、中级、高级三个级别,扫雷英雄榜存储每个级别的好成绩,即挖出的全部地雷且用时最少者。单击游戏菜单选择“初级” 、“中级”、“高级”或“查看英雄榜”;2、选择级别后将出现相应级别的扫雷区域,这时用户使用鼠标左键单击雷区中的任何一个地方便启动计时器;3、用户要揭开某个方块,可单击它。若所揭方块下有雷,用户便输了这一局,若所揭方块下五雷,则显示一个

2、数字,该数字代表方块的周围的 8 个方块中共有多少颗雷;4、如果用户认为某个方块下埋着雷,单击右键可以在方块上标记一个用户可以识别的记号,级给出一个扫雷图标。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个;5、扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。2.3 总体设计通常包括功能模块划分、功能模块层次、相关类文件及类的调用关系等。在设计扫雷游戏时,需要编写 7 个 Java 源文件:MineGame.java、MineArea.java、Block.java、BlockView.java、LayMines.java、Record.java 和 Sho

3、wRecord.java。1,利用布局管理器设计计算器整体布局,整个系统采用borderlayout,GridLayout 布局,其中使用了 2 个面板和一个二位数组面板。2,利用按钮设计地雷和提示语,通过按钮的事件处理实现按钮操作功能。2.4 详细设计及实现2.4.1 操作界面设计阐述软件的运行及用户操作的界面方案,包括窗口大小位置、控件布局、文字颜色、字体及操作逻辑等。扫雷只有一个类,这个类包含多个函数,每个函数具有不同的功能,在主函数里调用,从而生成扫雷。2.4.2 类成员变量及方法设计介绍各个类的成员变量及方法的设计细节,详细阐述主要方法的算法逻辑。2.4.3 类图及关键算法流程图初始

4、化设置雷数退出?Y左右键点击失败?胜利?N重新开局?局部初始化YY退出2.4.4 源代码分析详细阐述主要功能实现涉及的类及方法,要求对关键代码段进行分析,简述其设计思路。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Frame extends JFrameJTextField text;JLabel nowBomb,setBomb;int BombNum,BlockNum;/当前雷数,当前方块数int rightBomb,restBomb,restBlock;/找到的地雷数,剩余雷数,剩余

5、方块数/*JMenuBar Bar;JMenu fileMenu;JMenuItem 初级,中级,高级,扫雷英雄榜;*/JButton start=new JButton(“重新开始“);JPanel MenuPanel=new JPanel();JPanel bombPanel=new JPanel();BombbombButton;JPanel c;BorderLayout borderLayout1=new BorderLayout();GridLayout gridLayout1=new GridLayout();public Frame()trysetDefaultCloseOper

6、ation(EXIT_ON_CLOSE);jbInit();catch(Exception exception)exception.printStackTrace();private void jbInit() throws Exceptionc=(JPanel)getContentPane();setTitle(“扫雷 “);c.setBackground(Color.YELLOW);MenuPanel.setBackground(Color.GRAY);c.setLayout(borderLayout1);setSize(new Dimension(600,600);setResizabl

7、e(false);/*fileMenu=new JMenu(“游戏“);初级=new JMenuItem(“初级“);中级=new JMenuItem(“中级“);高级=new JMenuItem(“高级“);扫雷英雄榜=new JMenuItem(“扫雷英雄榜“);fileMenu.add(初级);fileMenu.add(中级);fileMenu.add(高级);fileMenu.add(扫雷英雄榜 );初级.addActionListener(this);*/BlockNum=169;BombNum=10;text=new JTextField(“10“,2);/“10”是默认地雷数,3

8、 是文本框的长度nowBomb=new JLabel(“当前雷数“+“:“+BombNum);setBomb=new JLabel(“设置地雷数“);start.addActionListener(new Frame1_start_actionAdapter(this);MenuPanel.add(setBomb);/设置地雷数标签MenuPanel.add(text);/设置地雷数文本框MenuPanel.add(start);/重新开始MenuPanel.add(nowBomb);/当前地雷数标签c.add(MenuPanel,java.awt.BorderLayout.SOUTH);/设

9、置菜单面板,下方bombPanel.setLayout(gridLayout1);/地雷边框gridLayout1.setColumns(int)Math.sqrt(BlockNum);gridLayout1.setRows(int)Math.sqrt(BlockNum);bombButton=new Bomb(int)Math.sqrt(BlockNum)(int)Math.sqrt(BlockNum);for(int i=0;i=10elseisNull(ClickedButton);/*左键点击*/public void actionPerformed(ActionEvent e)if(

10、Bomb)e.getSource().isClicked=falseisWin();elsefor(int i=0;i0)bombSource.setForeground(Color.RED);bombSource.setFont(new Font(“,Font.BOLD,11);bombSource.setText(“F“);/玩家用鼠标右键标注发现的地雷 单击bombSource.isRight=true;restBomb-;elsebombSource.BombFlag=0;else if(bombSource.BombFlag=2)restBomb+;bombSource.setTex

11、t(“Q“);/玩家用鼠标右键标注发现的地雷 双击bombSource.isRight=false;elsebombSource.setText(“);if(bombSource.isBomb=true)if(bombSource.BombFlag=2)rightBomb+;else if(bombSource.BombFlag=2)rightBomb-;nowBomb.setText(“当前雷数“+“:“+restBomb);isWin();public static void main(Stringargs)Frame frame=new Frame();frame.setVisible(

12、true);class Frame1_start_actionAdapter implements ActionListenerprivate Frame adapter;Frame1_start_actionAdapter(Frame adapter)this.adapter=adapter;public void actionPerformed(ActionEvent e)adapter.start_actionPerformed(e);/class Bomb extends JButtonint num_x,num_y;/第几号方块int BombRoundCount;/周围雷数bool

13、ean isBomb;/是否为雷boolean isClicked;/是否被点击int BombFlag;/探雷标记boolean isRight;/是否点击右键public Bomb(int x,int y)num_x=x;num_y=y;BombFlag=0;BombRoundCount=9;isBomb=false;isClicked=false;isRight=false;class Bomb_actionAdapter implements ActionListenerprivate Frame adapter;Bomb_actionAdapter(Frame adapter)thi

14、s.adapter=adapter;public void actionPerformed(ActionEvent e)adapter.actionPerformed(e);class Bomb_mouseAdapter extends MouseAdapterprivate Frame adapter;Bomb_mouseAdapter(Frame adapter)this.adapter=adapter;public void mouseClicked(MouseEvent e)adapter.mouseClicked(e);总 结对两个星期来的课程设计进行全面总结,写出心得体会。通过这两周的程序设计,在这过程中碰到了许多麻烦,也解决了一些问题,从中学到了不少,以往感觉比较枯燥的课程其实也不是那样,还是蛮有趣的,由于自己平时的功底不好,导致这次的程序设计做的很是费力,以后上课一定要好好听讲,下课一定多敲代码,多练习,一定要把自己的专业学好。附录一、“XXXXXXXXX” 关键源代码题目一的关键源码(不要求全部),若正文中有较详细代码分析,可以不要附录。宋体五号,单倍行距,非关键代码使用

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报