您的位置:首页 >> 编程开发 >> Java >> 网络 >> 正文
RSS
 

扫雷-Java完整仿制(网络备份)

http://www.rdxx.com 05年07月27日 22:23 CSDN 我要投稿

关键词: 扫雷 , Java , 备份 , 网络
选择自 Nicholas_Lin 的 Blog

呵呵,前一阵子忙着考试,好长时间没上BLOG了。今天贴一个我自己做的扫雷程序,提高下人气,^_^

因为刚写这个程序的时候没有想过会写的这么复杂,所以代码注释很少,抱歉。下面稍微说一下主要类的用途:
MainFrame:主程序
ImageFactory:图片管理
LevelInfo:级别设定
LevelLog:级别记录
MineGrid:格子
*Dialog:各种各样的对话框

swing:
AboutDialog:关于对话框,模仿windows制做

awt:
LedNumber:把数字格式化为液晶字体图像

源代码:
//file MainFrame.java:
package nicholas.game.mine;

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

import javax.swing.*;

import nicholas.awt.LedNumber;
import nicholas.swing.AboutDialog;

public class MainFrame extends JFrame implements ActionListener {
 
 //UI components 
 private JLabel mineLabel;
 private JLabel timeLabel;
 private JLabel statusButton;
 private JPanel gridPanel;
 private JPanel statusPanel;
 
 private Dimension gpd;
 private Dimension spd;
 private MineGrid grid[][];
 private boolean mode[][];
 
 private final int margin = 7;
 private final int titleh = 52;
 
 private int xBound;
 private int yBound;
 private int mineCount;
 private int showCount;  //the amount of grids opened
 private int leftCount;  //the amount of mines not labeled
 private int timepassed;
 private boolean firstClick;
 private boolean markCheck;
 
 //Menu Components
 private JMenuItem startItem;
 private JMenuItem exitItem;
 private JMenuItem logItem;
 private JMenuItem aboutItem;
 private JRadioButtonMenuItem levelItem[];
 private JCheckBoxMenuItem markCheckItem;
  
 //Game informations
 private LevelInfo levelInfo;
 private int currentLevel;
 private LevelLog log[];
 
 private LedNumber led;
 
 private GridMouseAdapter gma;
 private StatusMouseAdapter sma;
 private TimeThread timeThread;
 
 public MainFrame() {
  
  super("扫雷");
  
  //default
  currentLevel = 0;
  levelInfo = LevelInfo.DEFAULT_LEVEL[currentLevel];
  
  log = new LevelLog[3];
  for(int i=0;i<3;i++)
   log[i] = new LevelLog();
  
  //read from file
  readLog();
  
  led = new LedNumber();
   
  gma = new GridMouseAdapter();
  sma = new StatusMouseAdapter();
  
  //setup menus
  setMenuBar();
  
  setStatusPanel();
  resetPane();
  
  addWindowListener(
   new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
     writeLog();
     System.exit(0);
    }
   }
  );
  
  setIconImage(ImageFactory.getInstance().getImageicon(16).getImage());
  setResizable(false);
 }
 
 //execution application

共20页  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

 
 
标签: 扫雷 , Java , 备份 , 网络 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站