Java 课程设计 扫雷 下载本文

内容发布更新时间 : 2024/7/1 1:10:30星期一 下面是文章的全部内容请认真阅读。

自己写用Java写的扫雷游戏

-----------做课程设计的可以参考一下。

运行界面截图:

扫雷游戏主界面

以下是游戏代码(共分三个文件即三个类:MySaoLei.java; Area.java 和ZiDingYi.java):

//(1) MySaoLei.java package com.test; import java.awt.*;

import javax.imageio.ImageIO; import javax.swing.*;

import javax.swing.border.Border; import javax.swing.border.LineBorder;

import java.awt.event.*; import java.io.File;

import java.security.acl.Owner; import java.util.*;

public class MySaoLei extends JFrame implements ActionListener,MouseListener{

//w表示横向可以放多少雷,h表示纵向可以放多少雷

static int w=35,h=20; //设置雷的个数

static int leisum=180;

//用二维向量a[][]来存放雷 Area a[][]=null;

//win用于判断是否完成扫雷 int win=0;

Image image = null;

JPanel jp=null; JPanel jp0=null;

JMenuBar jmb; JMenu jm1,jm2;

JMenuItem jm1_1,jm1_2,jm1_3,jm1_4,jm1_5,jm2_1;

//主函数

public static void main(String[] args) { // TODO Auto-generated method stub MySaoLei msl = new MySaoLei(w,h,leisum); }

///////////////////////////////////////////////////构造函数 public MySaoLei(int w,int h,int leisum) { a=new Area[h][w]; this.w=w; this.h=h; this.leisum=leisum; jmb=new JMenuBar(); jm1=new JMenu(\游戏(G)\ jm1_1=new JMenuItem(\初级\ jm1_1.addActionListener(this); jm1_2=new JMenuItem(\中级\ jm1_2.addActionListener(this); jm1_3=new JMenuItem(\高级\ jm1_3.addActionListener(this); jm1_4=new JMenuItem(\自定义\ jm1_4.addActionListener(this);

jm1_5=new JMenuItem(\退出\jm1_5.addActionListener(this);

jm1.add(jm1_1); jm1.add(jm1_2); jm1.add(jm1_3); jm1.add(jm1_4); jm1.add(jm1_5);

jm2=new JMenu(\帮助(H)\

jm2_1=new JMenuItem(\游戏规则\jm2_1.addActionListener(this);

jm2.add(jm2_1);

jmb.add(jm1); jmb.add(jm2);

//创建一个网格布局g1

GridLayout gl=new GridLayout(h,w); gl.setHgap(1); gl.setVgap(1); jp=new JPanel(); jp.setLayout(gl); //初始化雷区

for(int i=0;i

//添加每个按钮周围的按钮 addAround();

//设置雷 int ii=0;