首先感谢大家对这个帖子的支持~~让菜鸟有了前进的信心
http://topic.csdn.net/u/20100811/10/233f5259-19c7-422e-9488-bd58e68c4a92.html?1993950910
这个结了。
我这几天又把程序修改了一些:
加入了“求救”按钮,在无法继续通过计算扫雷时,可以点出此获知随机的一个未标记雷的位置;
加入了计时器;
加入了作弊功能……嘿嘿,按下键盘上的某键,可以知道所有雷的位置,吼吼
为方便编译,把所有代码都放到一个文件里了~~~
期待大家的意见!
http://download.csdn.net/source/2619057
修改后的文件下载地址
再贴一下:一个楼层贴不下,分成了两部分,实则是一个源文件
Main.java
- Java code
import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Main{ public static void main(String[] argus) { Landmine Zhang = new Landmine(); }}//// Landmine类 主界面class Landmine extends JFrame{ static Resources resources = new Resources(); Playing listener = new Playing(this); //主要监听者,监听地雷面板的动作 Help helpListener = new Help(this); //辅助监听者,监听“帮助”、“关于” JPanel landminePanel = new JPanel(); //创建地雷面板 JPanel topPanel = new JPanel(); //创建顶部面板 JPanel lowerPanel = new JPanel(); //创建底部面板 public static MyButton [][] lei; //主区按钮组 public static int numberOfUnflaged ; //剩余的雷数,显示在topPanel上,用于提示用户 public static int numberOfClicked; //已经翻开的格子数,当数字数字到"总格子数—雷数"时,即胜利 public static int usedTime; //已用时间 public static JLabel numberOfUnflagedLabel = new JLabel(); //创建剩雷数标签 public static JLabel timeLabel = new JLabel();//创建时间标签 public static Timer timer; //创建计时 Keylistener keyListener = new Keylistener(this); public Landmine() { super("扫雷__1.2版__小老头"); //标题 setBounds(300,90,800,800); //设置窗口位置和大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//最大化、最小化、关闭按钮 BorderLayout ff = new BorderLayout(); //创建布局管理器 setLayout(ff); //关联布局管理器 setResizable(false); //禁止改变窗口大小 /*初始化一些数据*/ numberOfClicked = 0; numberOfUnflaged = 40; usedTime = 0; /*设置顶部面板*/ numberOfUnflagedLabel.setText("剩余雷数:"+numberOfUnflaged);//显示剩余雷数 numberOfUnflagedLabel.setFont(resources.fontOne);//设置剩雷数标签字体 numberOfUnflagedLabel.setIcon(resources.bombIconForLabel);//剩雷数标签图标(地雷形) topPanel.add(numberOfUnflagedLabel); //剩雷数标签加入topPanel timeLabel.setText("用时:" + usedTime); //显示剩余时间 timeLabel.setFont(resources.fontOne); //设置时间标签字体 timeLabel.setIcon(resources.clockIcon); //设置时间标签图标 topPanel.add(timeLabel); //时间标签加入topPanel add(topPanel,BorderLayout.NORTH); //加入主面板上部 timer = new Timer(1000,new TimerListener());//计算器注册监听者 /*设置底部面板*/ JButton aboutJB = new JButton("关于"); //创建“关于”按钮 JButton helpJB = new JButton("求救"); //创建“求救”按钮 helpJB.addActionListener(helpListener); //"求救"按钮加入监听者