返回列表 發帖

踩地雷- 計算分鐘數 以及 讀取檔案

  1.    boolean BombArr[][];
  2.     int CountBombArr[][];
  3.     javax.swing.JButton ButtonArr[][];
  4.     int maxBomb = 5;
  5.     int StartTime = 0;
  6.     int EndTime = 0;

  7.     private void jBtnStartActionPerformed(java.awt.event.ActionEvent evt) {                                          
  8.         // TODO add your handling code here:
  9.         initialButtonArr();// 初始化按鈕

  10.         //實體化儲存炸彈的陣列,以及實體化儲存炸彈數目的陣列。
  11.         BombArr = new boolean [maxBomb+2][maxBomb+2];
  12.         CountBombArr = new int [maxBomb+2][maxBomb+2];

  13.         //放炸彈-測試用
  14.         //BombArr[3][1] = true;
  15.         //BombArr[1][2] = true;
  16.         //BombArr[2][3] = true;

  17.         int q=0,r=0;
  18.         int randomArr[] = RandomBomb();

  19.         for(int i =0;i< 2 ; i++)
  20.         {
  21.             q = randomArr[i]/maxBomb;
  22.             r = randomArr[i]%maxBomb;
  23.             BombArr[q+1][r+1] = true;
  24.         }


  25.         //計算所有格子的炸彈數目
  26.         countAllBombArr();

  27.         //-Drbug用- 顯示目前炸彈陣列 與 炸彈數目陣列
  28.         showBombArr();
  29.         showCountBombArr();

  30.         //ButtonArr[0][0].setEnabled(false);
  31.         //ButtonArr[0][0].setText("0");
  32.       //宣告Calendar物件, 取得程式執行時間
  33. //宣告Calendar物件, 取得程式執行時間
  34. Calendar cld = Calendar.getInstance();
  35. //取得程式執行的月份
  36. int MINUTE = cld.get(Calendar.MINUTE);
  37. int SECOND = cld.get(Calendar.SECOND);
  38. //列出結果
  39. StartTime = MINUTE*60 + SECOND; //儲存開始遊戲時的秒數


  40. jLabel1.setText("目前程式執行時間為:"+ MINUTE + "分" +SECOND+"秒" +"\n");
  41.     }






  42.     void clickEvent(int x,int y)
  43.     {

  44.         if(BombArr[x+1][y+1] == true)
  45.         {
  46.             ButtonArr[x][y].setText("");
  47.             Frame frame = new Frame();
  48.                 int i = JOptionPane.showConfirmDialog(frame,"你踩到炸彈了,[確定]重新遊戲,[取消]關閉遊戲",
  49.                                 "警告訊息",JOptionPane.OK_CANCEL_OPTION);
  50.                 if(i == 0)
  51.                     System.out.println("你按下了確定");
  52.                 else if(i == 2)
  53.                        System.exit(0);
  54.                 else{}            
  55.             ReGame();
  56.             //System.out.println("遊戲結束");
  57.         }
  58.         else{
  59.             ButtonArr[x][y].setText("-");
  60.             ButtonArr[x][y].setEnabled(false);
  61.             if(IsWin())
  62.             {
  63.                 //宣告Calendar物件, 取得程式執行時間
  64.                 Calendar cld = Calendar.getInstance();
  65.                 //取得程式執行的月份
  66.                 int MINUTE = cld.get(Calendar.MINUTE);
  67.                 int SECOND = cld.get(Calendar.SECOND);
  68.                 EndTime = 60*MINUTE + SECOND;



  69.                 Frame frame = new Frame();
  70.                 JOptionPane.showConfirmDialog(frame,"你贏了遊戲,您總共花了"+(EndTime-StartTime)+"秒,[確定]重新遊戲,[取消]關閉遊戲",
  71.                                 "警告訊息",JOptionPane.OK_CANCEL_OPTION);
  72.             }
  73.             else
  74.                     showNearBombnumber(x, y);
  75.         }
  76.     }


  77.     //測試讀檔案
  78.     private void jButton26ActionPerformed(java.awt.event.ActionEvent evt) {
  79.         // TODO add your handling code here:

  80.                         FileReader fr = null;
  81.                 BufferedReader br = null;
  82.                 String fileName = "D:\\Game\\MyBook.txt";
  83.                 try {

  84.                         fr = new FileReader(fileName);
  85.                         br = new BufferedReader(fr);

  86.                         //亦可使用下面語法
  87.                         // br = new BufferedReader(new FileReader(fileName));

  88.                         String bufstr = "";
  89.                  while((bufstr = br.readLine()) != null){
  90.                     //System.out.println(bufstr);
  91.                      jLabel1.setText(jLabel1.getText() + "\n" + bufstr);
  92.                  }
  93.                         fr.close();
  94.                         br.close();

  95.                 } catch (IOException ex) {
  96.                         System.out.println("發生檔案[" + fileName +"]找不到例外,其錯誤訊息為:"
  97.                                         + ex.getMessage());
  98.                         ex.printStackTrace();
  99.                 }
  100.                 catch (Exception ex) {
  101.                         System.out.println("發生檔案[" + fileName +"]找不到例外,其錯誤訊息為:"
  102.                                         + ex.getMessage());
  103.                         ex.printStackTrace();
  104.                 }
  105.                 finally
  106.                 {

  107.                         System.out.println("關閉物件完成資源釋放....");
  108.                 }
  109.     }
複製代碼
Mai  買大誠 [E-Mail : mainword@dlinfo.tw, mainword@gmail.com] 手機 : 0911-116194
Sun Certified Java Programmer

DL Info 鼎侖資訊 [886-7-969-0998] 高雄市苓雅區光華一路206號6樓之2

import java.util.Calendar;
import  java.text.*;
import java.io.*;
Mai  買大誠 [E-Mail : mainword@dlinfo.tw, mainword@gmail.com] 手機 : 0911-116194
Sun Certified Java Programmer

DL Info 鼎侖資訊 [886-7-969-0998] 高雄市苓雅區光華一路206號6樓之2

TOP

返回列表