Java實現(xiàn)簡單的掃雷圖
用Java實現(xiàn)簡單的掃雷圖,供大家參考,具體內(nèi)容如下
掃雷圖的思想是:
1、地圖可以是一個二維數(shù)組,并對數(shù)組進行初始化
2、隨機生成雷的位置,可以用Random函數(shù)進行隨機生成也可以用Math.random()進行隨機生成
(PS:我就是簡單隨機下標生成了雷的位置)
3、對每一個非雷的位置一周的格子進行判斷是否有雷,進行數(shù)字的累加
4、遍歷數(shù)組進行輸出
private static void mineClearance() {
// 聲明一個二維數(shù)組表示掃雷地圖
String[][] mineClearanceMap = new String[9][9];
//初始化數(shù)組
for (int i = 0; i < mineClearanceMap.length; i++) {
for (int j = 0; j < mineClearanceMap.length; j++) {
mineClearanceMap[i][j] = "0";
}
}
Random random = new Random();
//隨機生成地雷
for (int i = 0; i < 25; i++) {
mineClearanceMap[random.nextInt(mineClearanceMap.length)][random.nextInt(mineClearanceMap.length)] = "*";// *表示雷
}
//mineClearanceMap[i][j]的一周的坐標,用i+x,j+y得到周圍的坐標
int x[] = { -1, -1, -1, 0, 0, 1, 1, 1 };
int y[] = { -1, 0, 1, -1, 1, -1, 0, 1 };
for (int i = 0; i < mineClearanceMap.length - 1; i++) {
for (int j = 0; j < mineClearanceMap.length - 1; j++) {
int count = 0;
if (!"*".equals(mineClearanceMap[i][j])) {
for (int k = 0; k < 8; k++) {
int xx = i + x[k];
int yy = j + y[k];
if (xx >= 0 && yy >= 0) {// 坐標不能出界,數(shù)組從(0,0)開始
if (mineClearanceMap[xx][yy] == "*") {
count = count + 1;// 累計這八個方位的雷總數(shù)
}
}
}
mineClearanceMap[i][j] = count + "";// 輸出每個位置周圍的雷數(shù)
}
}
}
System.out.println("得到的掃雷圖,*為雷");
for (int j = 0; j < mineClearanceMap.length; j++) {
for (int j2 = 0; j2 < mineClearanceMap.length; j2++) {
System.out.print(mineClearanceMap[j][j2]);
}
System.out.println();
}
}
運行截圖

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
spring使用aspect注解切面不起作用的排查過程及解決
這篇文章主要介紹了spring使用aspect注解切面不起作用的排查過程及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
JPA?通過Specification如何實現(xiàn)復雜查詢
這篇文章主要介紹了JPA?通過Specification如何實現(xiàn)復雜查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11
java 實現(xiàn)將一個string保存到txt文檔中
今天小編就為大家分享一篇java 實現(xiàn)將一個string保存到txt文檔中的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Nebula?Graph介紹和SpringBoot環(huán)境連接和查詢操作
Nebula?Graph?是一款開源的、分布式的、易擴展的原生圖數(shù)據(jù)庫,能夠承載包含數(shù)千億個點和數(shù)萬億條邊的超大規(guī)模數(shù)據(jù)集,并且提供毫秒級查詢,這篇文章主要介紹了Nebula?Graph介紹和SpringBoot環(huán)境連接和查詢,需要的朋友可以參考下2022-10-10
java 后臺開發(fā)中model與entity(實體類)的區(qū)別說明
這篇文章主要介紹了java 后臺開發(fā)中model與entity(實體類)的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

