Game.java
上传用户:penghbff
上传日期:2007-04-16
资源大小:32k
文件大小:4k
源码类别:

射击游戏

开发平台:

Java

  1. import java.awt.event.*;
  2. import java.awt.*;
  3. import javax.swing.*;
  4. import javax.swing.border.*;
  5. import java.util.*;
  6. import java.io.*;
  7. public class Game extends JFrame implements ActionListener
  8.    JMenuBar bar;
  9.    JMenu fileMenu;
  10.    JMenuItem 初级,中级,高级,扫雷英雄榜;
  11.    int grade=2;
  12.    MineSquare 雷阵;
  13.    JButton buttonPerson;
  14.    Container con;
  15.    JPanel box;
  16.    File 英雄榜=new File("英雄榜.txt");
  17.    Hashtable hashtable=null;
  18.    Record 记录对话框=null;
  19.    ShowRecord 显示英雄榜对话框=null;
  20.    Game()
  21.    {
  22.     buttonPerson=new JButton(new ImageIcon("微笑脸.gif"));
  23.     雷阵=new MineSquare("中级",40,16,16,buttonPerson,记录对话框);
  24.     buttonPerson.addActionListener(this);
  25.     con=getContentPane();
  26.     con.add(雷阵,BorderLayout.CENTER);
  27.     box=new JPanel();
  28.     box.setLayout(new GridLayout(1,3));
  29.     box.add(雷阵.count.textShowMine);
  30.     box.add(buttonPerson);
  31.     box.add(雷阵.time.textShowTime); 
  32.     con.add(box,BorderLayout.NORTH); 
  33.     setVisible(true);
  34.    
  35.     addWindowListener(new WindowAdapter()
  36.       { public void windowClosing(WindowEvent e)
  37.         { System.exit(0);
  38.        }
  39.       });
  40.     setBounds(100,50,360,380);
  41.     
  42.     bar=new JMenuBar();
  43.     fileMenu=new JMenu("游戏");
  44.     初级=new JMenuItem("初级");
  45.     中级=new JMenuItem("中级");
  46.     高级=new JMenuItem("高级");
  47.     fileMenu.setMnemonic('G');
  48.     初级.setMnemonic('B');
  49.     中级.setMnemonic('I');
  50.     高级.setMnemonic('E');
  51.     扫雷英雄榜=new JMenuItem("扫雷英雄榜");  
  52.     初级.setMnemonic('T');
  53.     fileMenu.add(初级);
  54.     fileMenu.add(中级);
  55.     fileMenu.add(高级);
  56.     fileMenu.add(扫雷英雄榜);
  57.     bar.add(fileMenu);
  58.     setJMenuBar(bar);
  59.     初级.addActionListener(this);
  60.     中级.addActionListener(this);
  61.     高级.addActionListener(this);
  62.     扫雷英雄榜.addActionListener(this);
  63.     hashtable=new Hashtable();
  64.     hashtable.put("初级","初级#"+999+"#匿名"); 
  65.     hashtable.put("中级","中级#"+999+"#匿名");
  66.     hashtable.put("高级","高级#"+999+"#匿名");
  67.     记录对话框=new Record(this,hashtable);
  68.     记录对话框.setGrade("高级");
  69.     if(!英雄榜.exists())
  70.      {
  71.       try{
  72.           FileOutputStream out=new FileOutputStream(英雄榜);
  73.           ObjectOutputStream object_out=new ObjectOutputStream(out);
  74.           object_out.writeObject(hashtable);
  75.           object_out.close();
  76.           out.close();
  77.          }
  78.       catch(IOException e)
  79.          {
  80.          }
  81.      } 
  82.     显示英雄榜对话框=new ShowRecord(this,hashtable);
  83.     validate();
  84.    }
  85.   public void newGame(String grade,int number,int rows,int cols,int w,int h)
  86.    {
  87.      buttonPerson.setIcon(new ImageIcon("微笑脸.gif"));
  88.      记录对话框.setGrade(grade);
  89.      雷阵=new MineSquare(grade,number,rows,cols,buttonPerson,记录对话框);
  90.      con.removeAll();
  91.      box.removeAll();
  92.      box.add(雷阵.count.textShowMine);
  93.      box.add(buttonPerson);
  94.      box.add(雷阵.time.textShowTime); 
  95.      con.add(box,BorderLayout.NORTH);  
  96.      con.add(雷阵,BorderLayout.CENTER);
  97.      setBounds(10,10,w,h);
  98.      
  99.      validate();
  100.    }
  101.   public void actionPerformed(ActionEvent e)
  102.    {
  103.      
  104.      if(e.getSource()==初级) 
  105.        {  
  106.           grade=1;
  107.           newGame("初级",10,8,8,180,220);
  108.        }
  109.      if(e.getSource()==中级) 
  110.        {
  111.           grade=2;
  112.           newGame("中级",40,16,16,360,380);
  113.        }
  114.       if(e.getSource()==高级) 
  115.        {  
  116.           grade=3;
  117.           newGame("高级",99,22,22,500,520);
  118.        }
  119.        if(e.getSource()==扫雷英雄榜) 
  120.        {  
  121.          显示英雄榜对话框.显示记录();
  122.          显示英雄榜对话框.setVisible(true);
  123.          
  124.        }
  125.       if(e.getSource()==buttonPerson)
  126.        {
  127.          if(grade==1)
  128.            {
  129.              newGame("初级",10,8,8,180,220);
  130.            }
  131.          if(grade==2)
  132.            {
  133.              newGame("中级",40,16,16,360,380);
  134.            }
  135.          if(grade==3)
  136.            {
  137.              newGame("高级",99,22,22,500,520);
  138.            }
  139.        }
  140.    }
  141.  
  142.   public static void main(String args[])
  143.    { new Game();
  144.    }
  145. }