亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? javamines.java

?? 在windows下玩的掃雷用java編寫
?? JAVA
字號:
import java.awt.*;
import java.awt.image.*;
import java.applet.Applet;
import java.util.Vector;

import mines;
import cell;
import custombutton;
import digitaldisplay;

public class JavaMines extends Applet implements Runnable{
   mines cm=null;
   int RowsXCols;
   Vector ArrayOfControl, ArrayOfImages;
   boolean YouLose=false,started=false;
   int founded=0,flaged=0;
   MediaTracker tracker;
   Image img, flag, mina, ask, smile, smile1, smile2;
   // 為節省圖片的上載時間將表示數字的圖片整合到一張圖片中
   // 在該圖片中數字的具體順序安排是:  1 2 3 4 5 6 7 8 * ? F
   Image strip;           
   Panel p; 
   custombutton cButt;
   digitaldisplay dd1,dd2;
   Thread clock=null;
   int clockvalue=99;
   //初始化	
   public void init(){
      tracker = new MediaTracker(this);
      img = getImage(getCodeBase(),"back.gif");
      tracker.addImage(img, 0); 
      smile = getImage(getCodeBase(),"smile.gif");
      tracker.addImage(smile, 0);
      smile1 = getImage(getCodeBase(),"smile1.gif");
      tracker.addImage(smile1, 0);
      smile2 = getImage(getCodeBase(),"smile2.gif");
      tracker.addImage(smile2, 0);
      strip = getImage(getCodeBase(),"strip.gif");
      tracker.addImage(strip, 0);
      // 該向量實現一個控件數組
      ArrayOfControl=new Vector(); 
      ArrayOfImages=new Vector();
      // 這是擁有游戲區的panel
      p=new Panel();
      try {
            //開始下載圖片,直到全部完成
            tracker.waitForAll();
        } catch (InterruptedException e) {}
      // 這些圖片來自strip      
      mina=createImage(new FilteredImageSource(strip.getSource(),new CropImageFilter(88,0,11,11)));
      ask=createImage(new FilteredImageSource(strip.getSource(),new CropImageFilter(99,0,11,11)));
      flag=createImage(new FilteredImageSource(strip.getSource(),new CropImageFilter(110,0,11,11)));
      // 將圖片安排在一個數組中,以便可以使用一個整數來恢復它們
      ArrayOfImages.setSize(17);     
      for (int i=1;i<=8;i++) {
         Image tmpimg=createImage(new FilteredImageSource(strip.getSource(),new CropImageFilter((i-1)*11,0,11,11)));
         ArrayOfImages.setElementAt(tmpimg, i);
      }
      ArrayOfImages.setElementAt(mina, 16);
      setLayout(new FlowLayout(FlowLayout.CENTER,5,10));
      cButt= new custombutton(smile,this,30,30);
      dd1=new digitaldisplay(false, 2, Color.black, Color.red); 
      dd2=new digitaldisplay(false, 2, Color.black, Color.red);  
      add(dd2);
      add(cButt);
      add(dd1);       
   } 
   //啟動線程
   public void start() {
      if (!started) { 
       
      started=true;
      startGame();

      } //!started

   }  
   //開始游戲	
   void startGame() { 
      cButt.setImage(smile);
      clockvalue=99;
      // Mines類支持不同大小和數量的雷,但是當前的GUI不支持,
      //如果改變了該變量的值,(即改變雷的大小和數量)可能會遇到布局管理問題
      cm= new mines(8,8,10); 
      RowsXCols=cm.Rows()*cm.Cols();
      p.setLayout(new GridLayout(cm.Rows(),cm.Cols()));
      for (int i=0; i< RowsXCols; i++){
         cell c= new cell(null,this,16,16);
         p.add(c);
         ArrayOfControl.addElement(c);
      }
      dd2.SetValue(Integer.toString(cm.Mines()));
      add(p);
      p.validate();  
      if (clock==null){
	 clock=new Thread(this);
         clock.start();
      }
   } 

   public void stop() {       
       clock=null;
   }

   public void run() {
       while(clock!=null){
           try {Thread.sleep(1000);} catch (InterruptedException e) {}
           clockvalue--;
           if (clockvalue==0) { /* 設置時鐘 */
              YouLose=true; 
              cButt.setImage(smile2);
              clock=null;
              ShowAll(); 
           } else {
              dd1.SetValue(Integer.toString(clockvalue));
           }
       }
       
   }

   public void paint(Graphics g) {        
        //如果所有的圖片還沒有上載完成
        if (!tracker.checkAll()) {
          
        } else {
 
            g.drawImage(img,0,0,this);
        }
   }

   public Insets insets() { return new Insets(28,0,0,0); }
   
   public boolean mouseUp(Event  evt, int  x, int  y) {

      if (evt.target instanceof custombutton) {  //開始新游戲
         started=true;
         YouLose=false;
         founded=0;flaged=0;clockvalue=99;
         p.removeAll();
         ArrayOfControl.setSize(0); 
         startGame();
      }  
      return true; 
   }

   public boolean mouseDown(Event  evt, int  x, int  y) {
      //判斷誰接收到了用戶的輸入
      cell c=(cell)evt.target;   
      int btnIndex=ArrayOfControl.indexOf(evt.target); 
      int cv=cm.get_play_field(btnIndex);
      cell tmpbtn;
      int tmpcv; int i; int tmpint;

      if (!YouLose) {//如果掃雷失敗
      if ((cv & mines.SCOPERTA)==0) {   
        if(evt.modifiers==Event.META_MASK){
          if (c.image==flag) { 
              c.setImage(ask);
              flaged-=1;
              dd2.SetValue(Integer.toString(cm.Mines()-flaged));
              return true;
          }
          if (c.image==ask) { c.setImage(null); return true;}
          c.setImage(flag);
          flaged+=1;
          dd2.SetValue(Integer.toString(cm.Mines()-flaged));
          return true;
        }
        if (cv==mines.MINE) { 
            YouLose=true; 
            cButt.setImage(smile2);
            clock=null;
            ShowAll(); 
        } 
        cm.toShow.setSize(0);
        cm.Show(btnIndex/cm.Rows(),btnIndex%cm.Rows());
        
        for (i=0;i<cm.toShow.size();i++){
           tmpint=((Integer)cm.toShow.elementAt(i)).intValue();
           tmpbtn=(cell)ArrayOfControl.elementAt(tmpint);
           tmpcv=cm.get_play_field(tmpint);
           tmpbtn.setImage(IntToImage(tmpcv & mines.MASK)); 
           tmpbtn.disableCell();
           tmpcv=tmpcv | mines.SCOPERTA;
           founded++;
           if (founded==(RowsXCols-cm.Mines())) { 
              YouLose=true;
              cButt.setImage(smile1);
              clock=null;
           }
           cm.set_play_field(tmpint,tmpcv);
        }
        return true;     
       }
       return true;
      } //返回掃雷失敗
      return true;
   }

   void ShowAll(){
      int i, cv;
      cell c;
      for (i=0;i<ArrayOfControl.size();i++){
         c=(cell)ArrayOfControl.elementAt(i); 
         cv=cm.get_play_field(i);
         if (cv==mines.MINE) {
            c.setImage(IntToImage(cv));
         }
      }
   }

   Image IntToImage(int i){
      Image img=null;
      img=(Image)ArrayOfImages.elementAt(i);
      return img;
   }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品热久久久久夜色精品三区| 国产真实乱偷精品视频免| 欧美一区二区三区公司| 色综合久久久网| 91亚洲精品一区二区乱码| 国产成人精品亚洲777人妖 | 亚洲一级在线观看| 伊人开心综合网| 一区二区激情小说| 一级女性全黄久久生活片免费| 亚洲欧美成aⅴ人在线观看| 综合久久久久久| 亚洲成人动漫在线免费观看| 日韩专区欧美专区| 人人超碰91尤物精品国产| 免费黄网站欧美| 国产91丝袜在线播放九色| 成人18视频在线播放| 在线观看欧美黄色| 欧美日韩国产高清一区二区三区| 911精品国产一区二区在线| 欧美一区二区精品久久911| 亚洲精品一区二区三区香蕉| 国产精品免费看片| 亚洲国产综合色| 精品一区二区免费| 国产成人丝袜美腿| 欧美中文字幕一区二区三区| 欧美tk—视频vk| 亚洲视频香蕉人妖| 久久精品国产免费看久久精品| 成人app在线| 在线不卡a资源高清| 久久久不卡网国产精品一区| 亚洲精品视频在线观看网站| 美国精品在线观看| www.av精品| 欧美一区二区三区在线视频| 国产精品午夜电影| 日韩电影在线观看一区| 成人免费视频app| 日韩精品在线看片z| 最新国产精品久久精品| 久久精品国产一区二区| 欧美在线不卡视频| 中文字幕免费一区| 精品在线一区二区| 欧美日韩视频在线第一区| 欧美极品xxx| 蜜桃视频在线观看一区| 色94色欧美sute亚洲线路一ni| 欧美大黄免费观看| 亚洲午夜精品久久久久久久久| 成人高清免费在线播放| 欧美tickling挠脚心丨vk| 亚洲午夜激情av| 一本一本大道香蕉久在线精品| 精品国产一区二区三区不卡| 三级久久三级久久久| 在线视频欧美区| 亚洲区小说区图片区qvod| 国产高清精品久久久久| 精品欧美一区二区三区精品久久| 亚瑟在线精品视频| 欧美午夜电影一区| 亚洲视频免费在线| 99久久国产综合精品女不卡| 国产日韩视频一区二区三区| 麻豆成人免费电影| 精品国产制服丝袜高跟| 美日韩一区二区| 欧美一区二区日韩一区二区| 亚洲高清免费视频| 欧美剧情片在线观看| 午夜欧美2019年伦理| 欧美三区在线观看| 午夜免费久久看| 日韩欧美自拍偷拍| 麻豆久久一区二区| 久久久亚洲国产美女国产盗摄| 国产河南妇女毛片精品久久久| 久久久久国产精品麻豆ai换脸 | 国产精品免费aⅴ片在线观看| 老司机午夜精品| 国产亚洲1区2区3区| 国产99久久久国产精品免费看| 欧美韩国日本综合| 一本久久精品一区二区| 亚洲电影你懂得| 日韩欧美中文字幕制服| 国产一区999| 一区在线中文字幕| 欧美系列一区二区| 三级影片在线观看欧美日韩一区二区 | 国产欧美日韩综合精品一区二区| 成人激情动漫在线观看| 亚洲精品视频在线观看网站| 69堂精品视频| 国产精品中文字幕日韩精品| 亚洲天堂中文字幕| 91精品黄色片免费大全| 国产成人av电影在线观看| 日韩美女精品在线| 欧美一激情一区二区三区| 国产99精品国产| 亚洲国产中文字幕在线视频综合| 日韩视频在线一区二区| zzijzzij亚洲日本少妇熟睡| 一区二区三区 在线观看视频| 91精品国产福利| 99久久99久久免费精品蜜臀| 奇米色777欧美一区二区| 国产精品毛片久久久久久| 欧美日韩国产电影| 成人福利视频在线| 久久99国内精品| 亚洲宅男天堂在线观看无病毒| 欧美大片顶级少妇| 欧美亚洲综合久久| 国产69精品久久久久毛片| 婷婷久久综合九色综合伊人色| 日本一区二区视频在线观看| 91麻豆精品91久久久久久清纯| 成人精品国产一区二区4080| 青青草原综合久久大伊人精品优势| 久久久综合九色合综国产精品| 欧美日韩免费高清一区色橹橹| 国产伦精品一区二区三区免费迷 | 亚洲另类春色校园小说| 精品国内二区三区| 欧美人与z0zoxxxx视频| 99vv1com这只有精品| 国产综合一区二区| 蜜臀av性久久久久蜜臀aⅴ| 一区二区三区丝袜| 亚洲私人黄色宅男| 国产欧美日韩卡一| 久久亚洲一区二区三区明星换脸| 欧美日韩免费在线视频| 色偷偷成人一区二区三区91 | 成人h精品动漫一区二区三区| 久久99久久99| 久久99精品久久久久婷婷| 天堂久久久久va久久久久| 亚洲国产毛片aaaaa无费看 | 欧美久久一二区| 欧美视频在线观看一区二区| 一本高清dvd不卡在线观看| 在线视频亚洲一区| 91免费看`日韩一区二区| av不卡在线观看| 成人精品小蝌蚪| 成人av网站在线| 成人av网站免费观看| av中文一区二区三区| 91丨porny丨国产入口| 99精品欧美一区| 91久久精品一区二区三| 色88888久久久久久影院按摩 | 欧美一区二区精美| 日韩精品专区在线影院重磅| 日韩一区二区在线免费观看| 日韩一区二区三区免费看| 欧美videos大乳护士334| 久久蜜桃av一区精品变态类天堂| 久久久精品黄色| 中文字幕一区三区| 亚洲免费观看在线观看| 亚洲成av人片一区二区三区| 日韩国产欧美一区二区三区| 久久精品国产免费| 成人国产精品免费| 欧美日韩精品一区二区三区蜜桃 | 日本一区中文字幕| 精品无人码麻豆乱码1区2区| 国产成人在线免费| 91浏览器打开| 日韩一区二区三区四区| 久久午夜老司机| 日韩理论电影院| 日本伊人精品一区二区三区观看方式| 精品亚洲欧美一区| 99视频国产精品| 欧美精品久久天天躁| 久久网站最新地址| 亚洲日本护士毛茸茸| 免费av成人在线| 99视频一区二区| 精品国产在天天线2019| 亚洲男人的天堂在线观看| 日日夜夜精品视频免费| 国产成人亚洲综合a∨婷婷| 欧美三级蜜桃2在线观看| 精品少妇一区二区三区在线视频 | 91免费国产视频网站| 日韩欧美国产麻豆| 亚洲激情校园春色| 国产美女娇喘av呻吟久久| 欧美日韩亚洲不卡| 自拍偷拍亚洲激情|