乐愚社区Beta

 编程语言  >  [Java] Java二维数组写一个超级简单的扫雷游戏,适合新手

[Java] Java二维数组写一个超级简单的扫雷游戏,适合新手

Walker  管理员   L12  • 2018-09-05 • 回复 3 • 只看楼主举报    

直接上代码

//随机生成地雷数
int numOfMines=10;
//地图尺寸
int mapSize=9;
Random r=new Random();
//用二位数组做地图
int [][] map=new int[mapSize][mapSize];
//地雷周围的偏移量
int[]around={-1,0,1};
//开始生成
for (int i=0;i<numOfMines;i++){
    int x,y;
    do {
        x=r.nextInt(mapSize);
        y=r.nextInt(mapSize);
    }while(map[x][y]>=100);
    //埋雷
    map[x][y]=100;
    //周围的提示
    for (int dy:around){
        for (int dx:around){
            if (dx==0 && dy==0){
                continue;
            }
            if ((x+dx)>=0
                    && (x+dx)<mapSize
                    && (y+dy)>=0
                    && (y+dy)<mapSize){
                try {
                    map[x+dx][y+dy]++;
                } catch (Exception e) {
                    System.out.println(x+dx+"  "+y+dy);
                    e.printStackTrace();
                }
            }
        }
    }
}
for (int y=0;y<mapSize;y++){
    for (int x=0;x<mapSize;x++){
        if (map[x][y]>=100){
            System.out.print("[*]");
        }else if (map[x][y]==0){
            System.out.print("[ ]");
        }else {
            System.out.print("["+map[x][y]+"]");
        }
    }
    System.out.println();
}

3条回帖
强者阿良  L0  评论于
(0)  回复(0) 1#
一楼,顶贴小子在此
小猫咪不认人  L4  评论于
(0)  回复(0) 2#
不会弄……小白……
y夜夜yeye  L3  评论于
(0)  回复(0) 3#
运行起来都是错误,还有这个文件名呢
还没注册帐号?快来注册社区帐号,和我们一起嗨起来!
关于本社区

集各类兴趣爱好于一身的轻量化交流社区,在此您可以和他人一起分享交流您觉得有价值的内容,社区鼓励大家发表原创内容,为社区添砖加瓦!

发帖奖励 → 社区版规 → 招聘版主 →
推荐版块
扫描二维码下载社区APP
回到顶部