国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Java實現簡單的掃雷圖

瀏覽:78日期:2022-08-13 08:48:11

用Java實現簡單的掃雷圖,供大家參考,具體內容如下

掃雷圖的思想是:

1、地圖可以是一個二維數組,并對數組進行初始化

2、隨機生成雷的位置,可以用Random函數進行隨機生成也可以用Math.random()進行隨機生成

(PS:我就是簡單隨機下標生成了雷的位置)

3、對每一個非雷的位置一周的格子進行判斷是否有雷,進行數字的累加

4、遍歷數組進行輸出

private static void mineClearance() { // 聲明一個二維數組表示掃雷地圖 String[][] mineClearanceMap = new String[9][9]; //初始化數組 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) {// 坐標不能出界,數組從(0,0)開始 if (mineClearanceMap[xx][yy] == '*') {count = count + 1;// 累計這八個方位的雷總數 } } } mineClearanceMap[i][j] = count + '';// 輸出每個位置周圍的雷數 } } } 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(); } }

運行截圖

Java實現簡單的掃雷圖

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 阳泉市| 定南县| 郓城县| 义马市| 苗栗市| 铁力市| 新干县| 巴彦淖尔市| 韩城市| 谷城县| 晋江市| 琼结县| 鲁甸县| 灯塔市| 万山特区| 遂川县| 禹城市| 桐柏县| 从化市| 舟曲县| 古蔺县| 聂荣县| 九龙城区| 徐水县| 甘德县| 伊通| 洱源县| 渭南市| 衢州市| 彩票| 徐闻县| 四平市| 大新县| 灌云县| 绥江县| 班玛县| 桑日县| 犍为县| 城口县| 玉溪市| 历史|