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

📄 laymines.java

📁 简单的扫雷游戏 供大家参考 界面不错啊
💻 JAVA
字号:
/**
 * 
 */
package edu.ustb.zhang40550377.util;
import java.util.*;


/**
 * @author f  随机设置地雷
 *
 */
public class LayMines {
	public void layMinesForBlock(Block block[][],int mineCount){
		int row=block.length;
		int column=block[0].length;
		LinkedList<Block> list=new LinkedList<Block>();//创建空链表list,该链表可以添加Block对象
		for(int i=0;i<row;i++){
			for(int j=0;j<column;j++){
				list.add(block[i][j]);//添加节点,其中的数据为block[i][j]
			}

		}




		while(mineCount>0){
			int size=list.size();//list返回节点的个数
			int randomIndex=(int)(Math.random()*size);
			Block b=list.get(randomIndex);//list返回索引为randomIndex的节点中的数据
			b.setName("雷");
			b.setIsMine(true);
			list.remove(randomIndex);//list删除索引值为randomIndex的节点

			mineCount--;
		}
		for(int i=0;i<row;i++){
			for(int j=0;j<column;j++){
				if(block[i][j].isMine()){}
				else {
					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,column-1);t++){
							if(block[k][t].isMine())
								mineNumber++;
						}
					}
					block[i][j].setName(""+mineNumber);
					block[i][j].setNumber(mineNumber);
				}
			}

		}

	}
}

⌨️ 快捷键说明

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