云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Java 扫雷游戏 课程设计

Java 扫雷游戏 课程设计

  • 62 次阅读
  • 3 次下载
  • 2025/7/3 20:56:13

import java.awt.event.KeyEvent;

public class MineGame extends JFrame implements ActionListener {

JMenuBar bar;

JMenu fileMenu,fileMenu1;//////////////////////// JMenuItem 初级,中级,高级,扫雷英雄榜;

JMenuItem 自定义,背景声音,游戏规则,制作人,退出;//////////////////////// static MineArea mineArea=null;

File 英雄榜=new File(\英雄榜.txt\ Hashtable hashtable=null;

ShowRecord showHeroRecord=null;

userDefine userdefine=new userDefine();/////////////// voiceShow voiceshow;//////////////// ruleShow ruleshow;//////////////// authorShow authorshow;////////////////

MineGame()

{

mineArea=new MineArea(16,16,40,1); add(mineArea,BorderLayout.CENTER); bar=new JMenuBar();

fileMenu=new JMenu(\游戏\

fileMenu.setMnemonic(KeyEvent.VK_G);

fileMenu1=new JMenu(\帮助\

fileMenu1.setMnemonic(KeyEvent.VK_H);///////////////////// 初级=new JMenuItem(\初级\ 初

级.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,ActionEvent.CTRL_MASK));///////////// 中级=new JMenuItem(\中级\ 中

级.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M,ActionEvent.CTRL_MASK));////////// 高级=new JMenuItem(\高级(H)\ 高

级.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_H,ActionEvent.CTRL_MASK));///////// 扫雷英雄榜=new JMenuItem(\扫雷英雄榜\ //////////////

扫雷英

榜.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_B,ActionEvent.CTRL_MASK));///////// 自定义=new JMenuItem(\自定义\ 自

义.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,ActionEvent.CTRL_MASK));////////// 背景声音=new JMenuItem(\背景声音\ 背景

音.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M,ActionEvent.CTRL_MASK));////////

21

游戏规则=new JMenuItem(\游戏规则\ 游

则.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_M,ActionEvent.CTRL_MASK));//////// 制作人=new JMenuItem(\制作人\ 制

人.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,ActionEvent.CTRL_MASK));////////// 退出=new JMenuItem(\退出\ 退

出.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_E,ActionEvent.CTRL_MASK));////////// voiceshow=new voiceShow();///////////// ruleshow=new ruleShow();////////////// authorshow=new authorShow();/////////////// fileMenu.add(初级); fileMenu.add(中级); fileMenu.add(高级);

fileMenu.add(自定义);/////////////////// fileMenu.add(扫雷英雄榜);

fileMenu.add(背景声音);//////////////////;////// fileMenu.add(退出);

fileMenu1.add(游戏规则);////////////////////// fileMenu1.add(制作人);//////////////////////// bar.add(fileMenu);

bar.add(fileMenu1);///////////////////////////// setJMenuBar(bar);

初级.addActionListener(this); 中级.addActionListener(this); 高级.addActionListener(this);

扫雷英雄榜.addActionListener(this);

自定义.addActionListener(this);/////////////// 背景声音.addActionListener(this);//////////////// 游戏规则.addActionListener(this);//////////////

制作人.addActionListener(this);///////////////// 退出.addActionListener(this);

hashtable=new Hashtable();

hashtable.put(\初级\初级#\匿名\ hashtable.put(\中级\中级#\匿名\ hashtable.put(\高级\高级#\匿名\ if(!英雄榜.exists()) {

try

{ FileOutputStream out=new FileOutputStream(英雄榜);

ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(hashtable); objectOut.close(); out.close();

22

}

catch(IOException e){}

}

showHeroRecord=new ShowRecord(this,hashtable); setBounds(100,100,280,380); setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); validate(); }

public void actionPerformed(ActionEvent e) {

if(e.getSource()==初级){

mineArea.initMineArea(8,8,10,1); setBounds(100,100,360,340); }

if(e.getSource()==中级){

mineArea.initMineArea(16,16,40,2); setBounds(100,100,320,420); }

if(e.getSource()==高级){

mineArea.initMineArea(22,22,99,3); setBounds(100,100,390,450); }

if(e.getSource()==自定义)//////////////// {

userdefine.setvisible(true);////////////// }

if(e.getSource()==背景声音)///////////// {

voiceshow.setVisible(true);//////////// }

if(e.getSource()==游戏规则)/////////////// {

ruleshow.setVisible(true);//////////// }

if(e.getSource()==制作人)////////////////// {

authorshow.setVisible(true);//////////////// }

if(e.getSource()==扫雷英雄榜){ if(showHeroRecord!=null) showHeroRecord.setVisible(true); }

if(e.getSource()==退出){ System.exit(0);

23

} }

public static void main(String args[]) {

new MineGame(); } } 附录2:

import java.awt.*;

import java.awt.event.*; import javax.swing.*; import java.net.*; import java.io.*; import java.applet.*;

public class MineArea extends JPanel implements ActionListener,MouseListener{ JButton reStart; Block [][] block;

BlockView [][] blockView; URL url;////////////// String str;/////////// AudioClip clip;

LayMines lay;

int row,colum,mineCount,markMount;//雷区的行数、列数以及地雷个数和用户给出的标记数 ImageIcon mark;

int grade;

JPanel pCenter,pNorth;

JTextField showTime,showMarkedMineCount; //显示用时以及标记数 Timer time; //计时器 int spendTime=0; Record record;

public MineArea(int row,int colum,int mineCount,int grade) { reStart=new JButton(\重新开始\

//reStart.setSize(4,4);

mark=new ImageIcon(\ //探雷标记 time=new Timer(1000,this); showTime=new JTextField(4); str=\爆炸声.wav\

showMarkedMineCount=new JTextField(4);

showTime.setHorizontalAlignment(JTextField.CENTER); showTime.setForeground(new Color(255,0,0));//////////////

showMarkedMineCount.setHorizontalAlignment(JTextField.CENTER); showMarkedMineCount.setForeground(new Color(255,0,0));//////////// showMarkedMineCount.setFont(new Font(\ showTime.setFont(new Font(\ pCenter=new JPanel();

24

搜索更多关于: Java 扫雷游戏 课程设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

import java.awt.event.KeyEvent; public class MineGame extends JFrame implements ActionListener { JMenuBar bar; JMenu fileMenu,fileMenu1;//////////////////////// JMenuItem 初级,中级,高级,扫雷英雄榜; JMenuItem 自定义,背景声音,游戏规则,制作人,退出;//////////////////////// static MineArea mineArea=null; File 英雄榜=new File(\英雄榜.txt\ Hashtable hashtab

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com