亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1301 | 回復(fù): 0
打印 上一主題 下一主題

控制臺(tái)掃雷 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-07-01 13:13 |只看該作者 |倒序?yàn)g覽
[Java]代碼
  1. import java.util.Random;
  2. import java.util.Scanner;
  3. public class MimeService {
  4.     //地雷格子
  5.     final int x=10;
  6.     final int y=10;
  7.     //總的地雷數(shù)
  8.     final int N=20;
  9.     public int[][] init() {
  10.         int[][] mime=new int[x][y];
  11.         int count=0;
  12.         Random random=new Random();
  13.         //初始化地雷
  14.         while (count<=N) {
  15.             int x1=random.nextInt(x);
  16.             int y1=random.nextInt(y);
  17.             if(mime[x1][y1]==0){
  18.                 mime[x1][y1]=9;
  19.                 count+=1;
  20.             }
  21.         }
  22.         //統(tǒng)計(jì)每個(gè)格子(不是地雷)周?chē)乩讉(gè)數(shù)
  23.         for(int i=0;i<mime.length;i++){
  24.             for(int j=0;j<mime[i].length;j++){
  25.                 int mimeCount=0;
  26.                 if((j+1)<mime[i].length && mime[i][j+1]==9){
  27.                     mimeCount+=1;
  28.                 }
  29.                 if((j-1)>=0 && mime[i][j-1]==9){
  30.                     mimeCount+=1;           
  31.                 }
  32.                 if((i+1)<mime[i].length && (j+1)<mime.length && mime[i+1][j+1]==9){
  33.                     mimeCount+=1;
  34.                 }
  35.                 if((i+1)<mime[i].length && (j-1)>=0 && mime[i+1][j-1]==9){
  36.                     mimeCount+=1;               
  37.                 }
  38.                 if((i-1)>=0 && (j+1)<mime.length && mime[i-1][j+1]==9){
  39.                     mimeCount+=1;
  40.                 }
  41.                 if((i-1)>=0 && (j-1)>=0 && mime[i-1][j-1]==9){
  42.                     mimeCount+=1;
  43.                 }
  44.                 if((i-1)>=0 && mime[i-1][j]==9){
  45.                     mimeCount+=1;
  46.                 }
  47.                 if((i+1)<mime[i].length && mime[i+1][j]==9){
  48.                     mimeCount+=1;
  49.                 }
  50.                 if(mime[i][j]!=9){
  51.                     mime[i][j]=mimeCount;
  52.                 }
  53.             }
  54.         }
  55.         return mime;
  56.     }
  57.     public void whiteBoard(int[][]mime,char[][] or,int x,int y ) {
  58.         or[x][y]='0';
  59.         if((y+1)<mime[x].length && or[x][y+1]=='K'){
  60.             if(mime[x][y+1]!=0){
  61.                 or[x][y+1]=(char)(mime[x][y+1]+48);
  62.             }else {
  63.                 whiteBoard(mime, or, x, y+1);
  64.             }
  65.         }
  66.         if((y-1)>=0 && or[x][y-1]=='K'){
  67.             if(mime[x][y-1]!=0){
  68.                 or[x][y-1]=(char)(mime[x][y-1]+48);
  69.             }else {
  70.                 whiteBoard(mime, or, x, y-1);
  71.             }           
  72.         }
  73.         if((x+1)<mime[x].length && (y+1)<mime.length && or[x+1][y+1]=='K'){
  74.             if(mime[x+1][y+1]!=0){
  75.                 or[x+1][y+1]=(char)(mime[x+1][y+1]+48);
  76.             }else {
  77.                 whiteBoard(mime, or, x+1, y+1);
  78.             }      
  79.         }
  80.         if((x+1)<mime[x].length && (y-1)>=0 && or[x+1][y-1]=='K'){
  81.             if(mime[x+1][y-1]!=0){
  82.                 or[x+1][y-1]=(char)(mime[x+1][y-1]+48);
  83.             }else {
  84.                 whiteBoard(mime, or, x+1, y-1);
  85.             }      
  86.         }
  87.         if((x-1)>=0 && (y+1)<mime.length && or[x-1][y+1]=='K'){
  88.             if(mime[x-1][y+1]!=0){
  89.                 or[x-1][y+1]=(char)(mime[x-1][y+1]+48);
  90.             }else {
  91.                 whiteBoard(mime, or, x-1, y+1);
  92.             }      
  93.         }
  94.         if((x-1)>=0 && (y-1)>=0 && or[x-1][y-1]=='K'){
  95.             if(mime[x-1][y-1]!=0){
  96.                 or[x-1][y-1]=(char)(mime[x-1][y-1]+48);
  97.             }else {
  98.                 whiteBoard(mime, or, x-1, y-1);
  99.             }      
  100.         }
  101.         if((x-1)>=0 && or[x-1][y]=='K'){
  102.             if(mime[x-1][y]!=0){
  103.                 or[x-1][y]=(char)(mime[x-1][y]+48);
  104.             }else {
  105.                 whiteBoard(mime, or, x-1, y);
  106.             }   
  107.         }
  108.         if((x+1)<mime[x].length && or[x+1][y]=='K'){
  109.             if(mime[x+1][y]!=0){
  110.                 or[x+1][y]=(char)(mime[x+1][y]+48);
  111.             }else {
  112.                 whiteBoard(mime, or, x+1, y);
  113.             }   
  114.         }
  115.     }
  116.      
  117.     public static void main(String[] args) {
  118.         MimeService mineS=new MimeService();
  119.          
  120.         int[][] mine=mineS.init();
  121. //      for(int i=0;i<mine.length;i++){
  122. //          for(int j=0;j<mine[i].length;j++){
  123. //              System.out.print(mine[i][j]+"  ");
  124. //          }
  125. //          System.out.println();
  126. //      }
  127.         //初始化
  128.         char[][] or=new char[mine.length][mine[0].length];
  129.         for(int i=0;i<mine.length;i++){
  130.             for(int j=0;j<mine[i].length;j++){
  131.                 or[i][j]='K';
  132.             }
  133.         }
  134.         int totol=80;
  135.         while (totol<=80) {
  136.             System.out.println("輸入格式 :1 3 c(x坐標(biāo),y坐標(biāo),點(diǎn)擊)||輸入格式 :1 3 m(x坐標(biāo),y坐標(biāo),標(biāo)記為類(lèi)) ");
  137.             System.out.println("掃雷開(kāi)始:");
  138.             for(int i=0;i<mine.length;i++){
  139.                 for(int j=0;j<mine[i].length;j++){
  140.                     System.out.print(or[i][j]+"  ");
  141.                 }
  142.                 System.out.println();
  143.             }
  144.             System.out.println("---------------------------------");
  145.             Scanner scanner =new Scanner(System.in);
  146.             int y=scanner.nextInt()-1;
  147.             int x=scanner.nextInt()-1;
  148.             String sign=scanner.next();
  149.             if(sign.equalsIgnoreCase("C")){
  150.                 if(mine[x][y]==9){
  151.                     System.out.println("game over!!!");
  152.                     break;
  153.                 }else if (mine[x][y]<9&&mine[x][y]>0) {
  154.                     or[x][y]=(char)(48+mine[x][y]);
  155.                 }else if(mine[x][y]==0) {
  156.                     mineS.whiteBoard(mine, or, x, y);
  157.                 }
  158.             }else {
  159.                 or[x][y]='M';
  160.             }
  161.             
  162.         }
  163.     }
  164. }
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP