1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      掃雷的java的代碼,Java掃雷代碼

      求高手幫忙一個(gè)“掃雷”游戲的JAVA的程序代碼

      import javax.swing.ImageIcon; //程序入口

      10多年的南和網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整南和建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“南和網(wǎng)站設(shè)計(jì)”,“南和網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

      public class Block {

      String name; //名字,比如"雷"或數(shù)字

      int aroundMineNumber; //周圍雷的數(shù)目

      ImageIcon mineIcon; //雷的圖標(biāo)

      boolean isMine=false; //是否是雷

      boolean isMark=false; //是否被標(biāo)記

      boolean isOpen=false; //是否被挖開

      public void setName(String name) {

      this.name=name;

      }

      //設(shè)置周圍的雷數(shù)

      public void setAroundMineNumber(int n) {

      aroundMineNumber=n;

      }

      //獲得周圍的雷數(shù)

      public int getAroundMineNumber() {

      return aroundMineNumber;

      }

      public String getName() {

      return name;

      }

      //判斷是否是雷

      public boolean isMine() {

      return isMine;

      }

      //設(shè)置是否為雷

      public void setIsMine(boolean b) {

      isMine=b;

      }

      //設(shè)置雷的圖標(biāo)

      public void setMineIcon(ImageIcon icon){

      mineIcon=icon;

      }

      //獲得雷的圖標(biāo)

      public ImageIcon getMineicon(){

      return mineIcon;

      }

      //確定雷是否被挖開

      public boolean getIsOpen() {

      return isOpen;

      }

      //設(shè)置為已經(jīng)被挖開

      public void setIsOpen(boolean p) {

      isOpen=p;

      }

      //返回此處是否已經(jīng)被標(biāo)記

      public boolean getIsMark() {

      return isMark;

      }

      //設(shè)置此處是否已經(jīng)被標(biāo)記

      public void setIsMark(boolean m) {

      isMark=m;

      }

      import javax.swing.*;

      import java.awt.*;

      public class BlockView extends JPanel{

      JLabel blockNameOrIcon; //用來顯示Block對象的name、number和mineIcon屬性

      JButton blockCover; //用來遮擋blockNameOrIcon.

      CardLayout card; //卡片式布局

      BlockView(){

      card=new CardLayout();

      setLayout(card);

      blockNameOrIcon=new JLabel("",JLabel.CENTER);

      blockNameOrIcon.setHorizontalTextPosition(AbstractButton.CENTER);

      blockNameOrIcon.setVerticalTextPosition(AbstractButton.CENTER);

      blockCover=new JButton();

      add("cover",blockCover);

      add("view",blockNameOrIcon);

      }

      //給出視覺效果變化

      public void giveView(Block block){

      // 如果是雷,將對應(yīng)的圖標(biāo)和文字更改

      if(block.isMine){

      blockNameOrIcon.setText(block.getName());

      blockNameOrIcon.setIcon(block.getMineicon());

      }

      else {

      int n=block.getAroundMineNumber();

      if(n=1)

      blockNameOrIcon.setText(""+n);

      else

      blockNameOrIcon.setText(" ");

      }

      }

      public void seeBlockNameOrIcon(){

      card.show(this,"view");

      validate();

      }

      public void seeBlockCover(){

      card.show(this,"cover");

      validate();

      }

      public JButton getBlockCover(){

      return blockCover;

      }

      }

      JAVA 掃雷的一段代碼求解釋

      int BombNum, BlockNum; // 當(dāng)前雷數(shù),當(dāng)前方塊數(shù)

      int rightBomb, restBomb, restBlock; // 找到的地雷數(shù),剩余雷數(shù),剩余方塊數(shù)

      JButton start = new JButton(" 開始 ");

      JPanel MenuPamel = new JPanel(); //新建一個(gè)區(qū)域,看名字是放菜單.但是打錯(cuò)字了.

      JPanel bombPanel = new JPanel();//新建一個(gè)區(qū)域,雷區(qū),由于雷是按鈕,這里面應(yīng)該都是按鈕(JButton).

      Bomb[][] bombButton; 2維組數(shù),放地雷.

      class Bomb extends JButton {

      int num_x, num_y; // 第幾號方塊

      int BombRoundCount; // 周圍雷數(shù)

      boolean isBomb; // 是否為雷

      boolean isClicked; // 是否被點(diǎn)擊

      int BombFlag; // 探雷標(biāo)記

      boolean isRight; // 是否點(diǎn)擊右鍵

      public Bomb(int x, int y) {

      num_x = x; //雷的位置 x,不解釋

      num_y = y; //雷的位置 y,不解釋.獲得是參數(shù)的值,所new Bomb的時(shí)候傳入雷的位置,套嵌2個(gè)for循環(huán).

      BombFlag = 0; //是不是被插旗了

      BombRoundCount = 9; //環(huán)繞數(shù)

      isBomb = false; //是雷

      isClicked = false; //被點(diǎn)

      isRight = false; //是真的.( 以上都很好理解,直譯^_^)

      }

      }

      /* 計(jì)算方塊周圍雷數(shù) */

      public void CountRoundBomb() {

      for (int i = 0; i (int) Math.sqrt(BlockNum); i++) { //開方 障礙數(shù)

      for (int j = 0; j (int) Math.sqrt(BlockNum); j++) { //同上,我判斷,設(shè)計(jì)的雷區(qū)是正方形,

      //這里是找完所有的坐標(biāo).

      int count = 0;

      // 當(dāng)需要檢測的單元格本身無地雷的情況下,統(tǒng)計(jì)周圍的地雷個(gè)數(shù)

      if (bombButton[i][j].isBomb != true) { //如果不是雷

      for (int x = i - 1; x i + 2; x++) { //從左邊1個(gè),到右邊1個(gè),一共3個(gè)

      for (int y = j - 1; y j + 2; y++) { //我不知道,java y坐標(biāo)是上還是下,總之

      //鄰近的上中下.(這里會(huì)多找一個(gè)自己)

      if ( (x = 0) (y = 0)

      (x ( (int) Math.sqrt(BlockNum)))

      (y ( (int) Math.sqrt(BlockNum)))) { //因邊前面 x=i-1,所以排除超出邊界

      //的情況

      if (bombButton[x][y].isBomb == true) { //如果是雷;

      count++; //加一個(gè)

      }

      }

      }

      }

      bombButton[i][j].BombRoundCount = count; //設(shè)置該Bomb環(huán)繞數(shù)的值

      }

      }

      }

      }

      總之就是,建個(gè)一個(gè)Bomb類. 別外有一個(gè)方法統(tǒng)計(jì)那些不是雷的地方,的周圍有幾顆雷,到時(shí)候點(diǎn)開,顯示出來.

      運(yùn)行在Eclipse環(huán)境下的java掃雷游戲的初級代碼是什么?

      import java.awt.Button;\x0d\x0aimport java.util.Set;\x0d\x0a// 每一個(gè)小方塊類\x0d\x0apublic class Diamond extends Button {\x0d\x0aprivate Diamond[] diamonds;\x0d\x0a\x0d\x0a// 該小方塊周圍的八個(gè)方向上的小方塊\x0d\x0aprivate Diamond east;\x0d\x0aprivate Diamond north;\x0d\x0aprivate Diamond northEast;\x0d\x0aprivate Diamond northWest;\x0d\x0aprivate Diamond south;\x0d\x0aprivate Diamond southEast;\x0d\x0aprivate Diamond southWest;\x0d\x0aprivate Diamond west;\x0d\x0a\x0d\x0aprivate boolean isBomb;// 是否是雷\x0d\x0aprivate boolean isChange;// 又沒有被翻過\x0d\x0aprivate int no;// 產(chǎn)生的方塊的編號\x0d\x0a\x0d\x0a// 持有所有小方塊的引用,方便進(jìn)行操作\x0d\x0apublic Diamond(Diamond[] diamonds) {\x0d\x0athis.diamonds = diamonds;\x0d\x0a}\x0d\x0a\x0d\x0a// 按鍵時(shí)方塊發(fā)生改變\x0d\x0apublic boolean change() {\x0d\x0athis.isChange = true;// 說明已經(jīng)翻過了\x0d\x0aif(isBomb) {// 觸雷\x0d\x0a//this.setBackground(Color.red);\x0d\x0areturn true;\x0d\x0a} else {// 不是雷,就顯示周圍雷的數(shù)目\x0d\x0a//this.setLabel(this.getNearBombNo() + "");\x0d\x0athis.setLabel(this.getNearBombNo() + "");\x0d\x0a//if(this.getNearBombNo() == 0) {\x0d\x0a//this.moveon();\x0d\x0a//}\x0d\x0areturn false;\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0a// 獲得該小方塊周圍雷的數(shù)量\x0d\x0apublic int getNearBombNo() {\x0d\x0aint no = 0;\x0d\x0aif(this.northWest != null this.northWest.isBomb) no++;\x0d\x0aif(this.north != null this.north.isBomb) no++;\x0d\x0aif(this.northEast != null this.northEast.isBomb) no++;\x0d\x0aif(this.east != null this.east.isBomb) no++;\x0d\x0aif(this.southEast != null this.southEast.isBomb) no++;\x0d\x0aif(this.south != null this.south.isBomb) no++;\x0d\x0aif(this.southWest != null this.southWest.isBomb) no++;\x0d\x0aif(this.west != null this.west.isBomb) no++;\x0d\x0a\x0d\x0areturn no;\x0d\x0a}\x0d\x0a\x0d\x0a// 獲得該小方塊周圍的小方塊\x0d\x0apublic Diamond getNearDimaond(int i) {\x0d\x0aint index = -1;\x0d\x0aswitch (i) {\x0d\x0acase 1:// 1表示西北,2,表示北,以此類推\x0d\x0aindex = no - 10;\x0d\x0aif(index return null;\x0d\x0a} else {\x0d\x0areturn diamonds[index];\x0d\x0a}\x0d\x0acase 2:\x0d\x0aindex = no - 9;\x0d\x0aif(index return null;\x0d\x0a} else {\x0d\x0areturn diamonds[index];\x0d\x0a}\x0d\x0acase 3:\x0d\x0aindex = no - 8;\x0d\x0aif(index return null;\x0d\x0a} else {\x0d\x0areturn diamonds[index];\x0d\x0a}\x0d\x0acase 4:\x0d\x0aindex = no + 1;\x0d\x0aif(no == 9 || no == 18 || no == 27 || no == 36 || no == 45 || no == 54 || no == 63 || no == 72 || no == 81) {\x0d\x0areturn null;\x0d\x0a} else {\x0d\x0areturn diamonds[index];\x0d\x0a}\x0d\x0acase 5:\x0d\x0aindex = no + 10;\x0d\x0aif(index = 81 ||no == 9 || no == 18 || no == 27 || no == 36 || no == 45 || no == 54 || no == 63 || no == 72 || no == 81) {\x0d\x0areturn null;\x0d\x0a} else {\x0d\x0areturn diamonds[index];\x0d\x0a}\x0d\x0acase 6:\x0d\x0aindex = no + 9;\x0d\x0aif(index 81) {\x0d\x0areturn null;\x0d\x0a} else {\x0d\x0areturn diamonds[index];\x0d\x0a}\x0d\x0acase 7:\x0d\x0aindex = no + 8;\x0d\x0aif(index = 81 || no==1 || no == 10 || no == 19 || no == 28 || no == 37 || no == 46 || no == 55 || no == 64 || no == 73) {\x0d\x0areturn null;\x0d\x0a} else {\x0d\x0areturn diamonds[index];\x0d\x0a}\x0d\x0acase 8:\x0d\x0aindex = no - 1;\x0d\x0aif(no==1 || no==10 || no == 19 || no == 28 || no == 37 || no == 46 || no == 55 || no == 64 || no == 73) {\x0d\x0areturn null;\x0d\x0a} else {\x0d\x0areturn diamonds[index];\x0d\x0a}\x0d\x0a}\x0d\x0areturn null;\x0d\x0a}\x0d\x0a\x0d\x0a// 遞歸,set是用來裝已經(jīng)翻過的小方塊的,不然會(huì)死循環(huán),為什么用set,因?yàn)閟et是不重復(fù)的\x0d\x0apublic void moveon(Set set) {\x0d\x0a\x0d\x0aset.add(this);// 先把自己加上\x0d\x0aif(this.getNorthWest() != null this.getNorthWest().isBomb == false) {\x0d\x0athis.getNorthWest().change();\x0d\x0a\x0d\x0aif(this.getNorthWest().getNearBombNo() == 0) {\x0d\x0aif(set.contains(this.getNorthWest()) == false)\x0d\x0athis.getNorthWest().moveon(set);\x0d\x0a}\x0d\x0a\x0d\x0aset.add(this.getNorthWest());\x0d\x0a}\x0d\x0a\x0d\x0aif(this.getNorth() != null this.getNorth().isBomb == false) {\x0d\x0athis.getNorth().change();\x0d\x0aif(this.getNorth().getNearBombNo() == 0) {\x0d\x0aif(set.contains(this.getNorth()) == false)\x0d\x0athis.getNorth().moveon(set);\x0d\x0a}\x0d\x0a\x0d\x0aset.add(this.getNorth());\x0d\x0a} \x0d\x0a\x0d\x0aif(this.getNorthEast() != null this.getNorthEast().isBomb == false) {\x0d\x0athis.getNorthEast().change();\x0d\x0aif(this.getNorthEast().getNearBombNo() == 0) {\x0d\x0aif(set.contains(this.getNorthEast()) == false)\x0d\x0athis.getNorthEast().moveon(set);\x0d\x0a}\x0d\x0a\x0d\x0aset.add(this.getNorthEast());\x0d\x0a} \x0d\x0a\x0d\x0aif(this.getEast() != null this.getEast().isBomb == false) {\x0d\x0athis.getEast().change();\x0d\x0aif(this.getEast().getNearBombNo() == 0) {\x0d\x0aif(set.contains(this.getEast()) == false)\x0d\x0athis.getEast().moveon(set);\x0d\x0a}\x0d\x0a\x0d\x0aset.add(this.getEast());\x0d\x0a} \x0d\x0a\x0d\x0aif(this.getSouthEast() != null this.getSouthEast().isBomb == false) {\x0d\x0athis.getSouthEast().change();\x0d\x0aif(this.getSouthEast().getNearBombNo() == 0) {\x0d\x0aif(set.contains(this.getSouthEast()) == false)\x0d\x0athis.getSouthEast().moveon(set);\x0d\x0a}\x0d\x0a\x0d\x0aset.add(this.getSouthEast());\x0d\x0a} \x0d\x0a\x0d\x0aif(this.getSouth() != null this.getSouth().isBomb == false) {\x0d\x0athis.getSouth().change();\x0d\x0aif(this.getSouth().getNearBombNo() == 0) {\x0d\x0aif(set.contains(this.getSouth()) == false)\x0d\x0athis.getSouth().moveon(set);\x0d\x0a}\x0d\x0a\x0d\x0aset.add(this.getSouth());\x0d\x0a} \x0d\x0a\x0d\x0aif(this.getSouthWest() != null this.getSouthWest().isBomb == false) {\x0d\x0athis.getSouthWest().change();\x0d\x0aif(this.getSouthWest().getNearBombNo() == 0) {\x0d\x0aif(set.contains(this.getSouthWest()) == false)\x0d\x0athis.getSouthWest().moveon(set);\x0d\x0a}\x0d\x0a\x0d\x0aset.add(this.getSouthWest());\x0d\x0a} \x0d\x0a\x0d\x0aif(this.getWest() != null this.getWest().isBomb == false) {\x0d\x0athis.getWest().change();\x0d\x0aif(this.getWest().getNearBombNo() == 0) {\x0d\x0aif(set.contains(this.getWest()) == false)\x0d\x0athis.getWest().moveon(set);\x0d\x0a}\x0d\x0a\x0d\x0aset.add(this.getWest());\x0d\x0a} \x0d\x0a}\x0d\x0a\x0d\x0a/*public Diamond[] getDiamonds() {\x0d\x0areturn diamonds;\x0d\x0a}*/\x0d\x0a\x0d\x0apublic Diamond getEast() {\x0d\x0areturn east;\x0d\x0a}\x0d\x0a\x0d\x0apublic int getNo() {\x0d\x0areturn no;\x0d\x0a}\x0d\x0a\x0d\x0apublic Diamond getNorth() {\x0d\x0areturn north;\x0d\x0a}\x0d\x0a\x0d\x0apublic Diamond getNorthEast() {\x0d\x0areturn northEast;\x0d\x0a}\x0d\x0a\x0d\x0apublic Diamond getNorthWest() {\x0d\x0areturn northWest;\x0d\x0a}\x0d\x0a\x0d\x0apublic Diamond getSouth() {\x0d\x0areturn south;\x0d\x0a}\x0d\x0a\x0d\x0apublic Diamond getSouthEast() {\x0d\x0areturn southEast;\x0d\x0a}\x0d\x0a\x0d\x0apublic Diamond getSouthWest() {\x0d\x0areturn southWest;\x0d\x0a}\x0d\x0a\x0d\x0apublic Diamond getWest() {\x0d\x0areturn west;\x0d\x0a}\x0d\x0a\x0d\x0apublic boolean isBomb() {\x0d\x0areturn isBomb;\x0d\x0a}\x0d\x0a\x0d\x0apublic boolean isChange() {\x0d\x0areturn isChange;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setBomb(boolean isBomb) {\x0d\x0athis.isBomb = isBomb;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setChange(boolean isChange) {\x0d\x0athis.isChange = isChange;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setDiamonds(Diamond[] diamonds) {\x0d\x0athis.diamonds = diamonds;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setEast(Diamond east) {\x0d\x0athis.east = east;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setNo(int no) {\x0d\x0athis.no = no;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setNorth(Diamond north) {\x0d\x0athis.north = north;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setNorthEast(Diamond northEast) {\x0d\x0athis.northEast = northEast;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setNorthWest(Diamond northWest) {\x0d\x0athis.northWest = northWest;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setSouth(Diamond south) {\x0d\x0athis.south = south;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setSouthEast(Diamond southEast) {\x0d\x0athis.southEast = southEast;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setSouthWest(Diamond southWest) {\x0d\x0athis.southWest = southWest;\x0d\x0a}\x0d\x0a\x0d\x0apublic void setWest(Diamond west) {\x0d\x0athis.west = west;\x0d\x0a}\x0d\x0a\x0d\x0a}


      當(dāng)前名稱:掃雷的java的代碼,Java掃雷代碼
      文章地址:http://ef60e0e.cn/article/hseicc.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        容城县| 醴陵市| 临桂县| 交口县| 诸暨市| 岳普湖县| 南宫市| 遵义县| 张家口市| 从化市| 确山县| 商都县| 南华县| 建昌县| 泸溪县| 太和县| 那曲县| 天全县| 揭西县| 武宣县| 汉源县| 凯里市| 株洲县| 安康市| 金阳县| 天峻县| 灵丘县| 婺源县| 容城县| 托克逊县| 琼结县| 巨野县| 淮阳县| 博兴县| 禄劝| 金山区| 江达县| 凌云县| 通辽市| 阳西县| 关岭|