⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 laymines.java

📁 模仿window自带的小游戏扫雷编的,很简单,只实现了扫雷的基本功能,现拿出来与大家分享!
💻 JAVA
字号:

import java.util.LinkedList; 
 
public class LayMines {
         
    public void layMinesForBlock(Block[][] block,int mineCount){
        int row=block.length;
        int colum=block[0].length;
        LinkedList list=new LinkedList();//创建空链表
                
        for(int i=0;i<row;i++){
        	for(int j=0;j<colum;j++){
        		list.add(block[i][j]);
        	}
        }
        while(mineCount>0){
        	int size=list.size();
        	int randomIndex=(int)(Math.random()*size);
        	Block b=(Block)list.get(randomIndex);
        	b.setName("*");
        	b.setIsMine(true);
        	list.remove(randomIndex);
        	mineCount--;
        }
        
        
        for(int i=0;i<row;i++){//非雷
            for(int j=0;j<colum;j++){
                if(block[i][j].getIsMine()==false){
                    int mineNumber=0;//周围雷的设置
                    for(int k=Math.max(i-1,0);k<=Math.min(i+1,row-1);k++){
                        for(int t=Math.max(j-1,0);t<=Math.min(j+1,colum-1);t++){
                            if(block[k][t].getIsMine()==true){
                                mineNumber++;
                            }
                        }
                    }
                    
                    if(mineNumber==0){
                    	 block[i][j].setName("");
                    	 block[i][j].setNumber(mineNumber);
                    }
                       
                    else{
                    	block[i][j].setName(""+mineNumber);
                    	block[i][j].setNumber(mineNumber);
                    	
                    }
                    
                }
            }
        }
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -