最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Java课程设计扫雷小游戏

来源:动视网 责编:小OO 时间:2025-09-28 19:50:57
文档

Java课程设计扫雷小游戏

Java扫雷游戏设计报告1·设计内容及要求1.1·扫雷小游戏的基本要求扫雷小游戏主要采用Java语言编写,适合windowsXP以下的系统,以eclipse为平台。具体要求如下:扫雷小游戏分为初级、中级和高级三个级别,扫雷排行榜保存着每个级别的最好成绩,即挖出全部的地雷并且用时最少。单机游戏菜单选择“初级”、“中级”和“高级”。游戏默认的是初级级别,用户可以选择不同级别将出现对应级别的扫雷区域,单击扫雷区域任一方格以便启动计时器。用户选择某个方格,单击它就行。若所选择的放阁下有雷,这一局就结束
推荐度:
导读Java扫雷游戏设计报告1·设计内容及要求1.1·扫雷小游戏的基本要求扫雷小游戏主要采用Java语言编写,适合windowsXP以下的系统,以eclipse为平台。具体要求如下:扫雷小游戏分为初级、中级和高级三个级别,扫雷排行榜保存着每个级别的最好成绩,即挖出全部的地雷并且用时最少。单机游戏菜单选择“初级”、“中级”和“高级”。游戏默认的是初级级别,用户可以选择不同级别将出现对应级别的扫雷区域,单击扫雷区域任一方格以便启动计时器。用户选择某个方格,单击它就行。若所选择的放阁下有雷,这一局就结束
  Java扫雷游戏设计报告

           

1·设计内容及要求

1.1·扫雷小游戏的基本要求

 扫雷小游戏主要采用Java语言编写,适合windows XP 以下的系统,以eclipse为平台。具体要求如下:

<1> 扫雷小游戏分为初级、中级和高级三个级别,扫雷排行榜保存着每个级别的最好成绩,即挖出全部的地雷并且用时最少。单机游戏菜单选择“初级”、“中级”和“高级”。

<2> 游戏默认的是初级级别,用户可以选择不同级别将出现对应级别的扫雷区域,单击扫雷区域任一方格以便启动计时器。

<3> 用户选择某个方格,单击它就行。若所选择的放阁下有雷,这一局就结束了,若所选择方格下无雷,则会显示一个数字,该数字代表方格周围8个方格有几颗雷。

<4> 如果用户认为某个方格下有雷,单击右键可以在方格上标记一个用户认为是雷的图标(一个小旗子)。

<5> 用户可以选择标记为疑问的方格,可以选择游戏菜单下的标记,或者双击右键所选方格显示(?)图标。

<6> 扫雷完成后,程序弹出保存成绩的对话框,用户可以根据自身选择是否保存。

<7> 如果用户喜欢有提示音,可以选择游戏菜单中的声音选项,单击扫雷区域任一方格,就会听到吧嗒声。当点中地雷时,将会有爆炸声音响起,胜利后,将播放凯旋的旋律。

1.2 需求实现的主要功能

(1) 该游戏具有计时功能,即扫完全部地雷所花费的时间。

(2) 用户可以选择是否有音效。

(3) 用户可以自定义级别,还可以输入任意地雷数。

(4) 自动保存扫雷排行榜。

2·需求分析

2.1 扫雷区域的布局设计

系统的整体布局为:CardLayout 布局,采用菜单、按钮、面板……等组件,菜单项主要有开始,选择级别,自定义,标记,声音,扫雷排行榜,退出,按钮的功能是重新开始游戏(可以选择游戏菜单里的开局,也可以点击企鹅图标重新开始游戏)。

2.2 雷区的设计

MineArea类是javax.swing 包中Jpanel容器的子类,实现了ActionListener和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。

2.3 音效的设计

    music类是java.awt包中Frame的子类,通过构造音效声音方法,在MainFrame主类中,通过ActionListener来监视是否已开始游戏,来决定播放计时声,之后又通过ActionListener来监视是否踩到雷和是否完成来决定,播放相应的音乐。

2.4 排行榜设计

LogDialog是javax.swing包中Jdialog对话框的子类,并实现了ActiongListener接口。LogDialog创建的对象dialog是MainFrame类(主类)的成员之一,当用户选择查看“英雄榜”菜单项时,该对话框可见,提供了查看扫雷的最好成绩的界面。

3.游戏设计流程图

5· 代码实现

5.1 类之间的关系图

图1-6 类之间的关系图

5.2 各界面图及代码:

5.2.1 游戏菜单界面

图1-7 游戏菜单界面

其主要代码为:private void setMenuBar() {//设置菜单项

        JMenuBar menuBar = new JMenuBar();

        menuBar.setBorder(BorderFactory.createLineBorder(Color.WHITE, 2));

        

        JMenu gameMenu = new JMenu("游戏(G)");

        JMenu helpMenu = new JMenu("帮助(H)");

        gameMenu.setMnemonic('G');

        helpMenu.setMnemonic('H');

        声音=new Voice();

        

        

        startItem = new JMenuItem("开局(N)");

        startItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F2,0));

        logItem = new JMenuItem("扫雷英雄榜(T)...");

        markCheckItem = new JCheckBoxMenuItem("标记(?)(M)");

        soundItem=new JCheckBoxMenuItem("声音(S)");

        exitItem = new JMenuItem("退出(X)");

        aboutItem = new JMenuItem("关于扫雷(A)...");

        levelItem[0] = new JRadioButtonMenuItem("初级(B)");

        levelItem[1] = new JRadioButtonMenuItem("中级(I)");

        levelItem[2] = new JRadioButtonMenuItem("高级(E)");

        levelItem[3] = new JRadioButtonMenuItem("自定义(C)...");

        

雷区界面设计代码:

主要代码

private Polygon segmentPolygon[];

    private int numberSegment[][] = {

        {0, 1, 2, 3, 4, 5 },  //0

        {1, 2 },     //1

        {0, 1, 3, 4, 6 },   //2

        {0, 1, 2, 3, 6 },   //3

        {1, 2, 5, 6 },    //4

        {0, 2, 3, 5, 6 },   //5

        {0, 2, 3, 4, 5, 6 },  //6

        {0, 1, 2 },    //7

        {0, 1, 2, 3, 4, 5, 6 }, //8

        {0, 1, 2, 3, 5, 6 }  //9

    };

    private int div[] = {1,10,100,1000,10000,100000};

    private Image numberImage[];

    private Color fontColor = Color.red;   //the color of number

    private Color bgColor = Color.black;

    private Color maskColor = Color.darkGray;

    private int dWidth = 12;

    private int dHeight = 21;

    

   

5.2.3自定义扫雷界面

图2-1 自定义扫雷界面

其主要代码为:private JTextField widthField;

    private JTextField heightField;

    private JTextField mineField;

    

    private JButton confirmButton;

    private JButton cancelButton;

    

    private static LevelInfo level;

    

    public CustomDialog(Frame frame, LevelInfo levelInfo) {

        

        

    }

    

    public void actionPerformed(ActionEvent e) {

        

    }

    

    public static LevelInfo getUserLevel(JFrame frame, LevelInfo levelInfo) {

        CustomDialog dialog = new CustomDialog(frame, levelInfo);

        return level;

    }

5.2.4扫雷排行榜界面

图2-2 扫雷排行榜界面

其主要代码为:public LogDialog(JFrame frame, LevelLog log[]) {

        

        super(frame, "扫雷英雄榜", true);

        

        getContentPane().setLayout(null);

        

        levelLog = log;

        

        logArea = new JTextArea();

        logArea.setEditable(false);

        logArea.setBackground(UIManager.getColor("CheckBox.background"));

        logArea.setBounds(10,10,160,60);

        getContentPane().add(logArea, null);

                      

        resetButton = new JButton("重新计分");

        resetButton.setBounds(10,70,90,25);

        resetButton.addActionListener(this);

        getContentPane().add(resetButton, null);

        

        setTextArea();

        

        confirmButton = new JButton("确定");

        confirmButton.setBounds(105,70,60,25);

        confirmButton.addActionListener(this);

        getContentPane().add(confirmButton, null);

        

        setSize(180,140);

        setLocationRelativeTo(frame);

        setResizable(false);

        show();

    }

    

    

6·扫雷总结

    在这次将近两个周的课程设计中我受益匪浅。首先是老师对我们所学过的知识进行复习,并给我们介绍了一些未知的领域,拓展了我们的知识面。然后老师带领我们做扫雷游戏,在这个过程中我们有学到了不少东西。我在写程序是也遇到了不少的问题,不过在我们的共同努力以及老师的指导下完成了任务。在这次课程设计中,但是在看程序的过程中,不断的上网查资料以及翻阅相关书籍,通过不断的模索,测试,发现问题,解决问题和在老师的帮助下一步一步慢慢的正确运行程序,终于完成了这次课程设计,虽然这次课程设计结束了但是总觉得自已懂得的知识很是不足,学无止境,以后还会更加的努力深入的学习。

文档

Java课程设计扫雷小游戏

Java扫雷游戏设计报告1·设计内容及要求1.1·扫雷小游戏的基本要求扫雷小游戏主要采用Java语言编写,适合windowsXP以下的系统,以eclipse为平台。具体要求如下:扫雷小游戏分为初级、中级和高级三个级别,扫雷排行榜保存着每个级别的最好成绩,即挖出全部的地雷并且用时最少。单机游戏菜单选择“初级”、“中级”和“高级”。游戏默认的是初级级别,用户可以选择不同级别将出现对应级别的扫雷区域,单击扫雷区域任一方格以便启动计时器。用户选择某个方格,单击它就行。若所选择的放阁下有雷,这一局就结束
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top