用Java写扫雷(简化版)

  • 目标实现
    • Java代码

目标实现

随机生成雷在不同的位置,并且显示雷周围的数字,这两点是首要解决的问题,涉及算法。解决了这两个问题基本就可以了,再稍加点细节就可以玩扫雷啦。

Java代码

public static void main(String[] args) {String a[][] = new String[10][10];int forrandom[] = new int[85];for (int i = 0; i < 9; i++) {// 初始化数组for (int j = 0; j < 9; j++) {a[i][j] = "0";}}for (int i = 0; i < 81; i++) {forrandom[i] = i;// 0-80}for (int i = 0; i < 200; i++) {// 交换int x = (int) (Math.random() * 81);// 0-0.9 0-80int y = (int) (Math.random() * 81);int t = forrandom[x];forrandom[x] = forrandom[y];forrandom[y] = t;}// 结果前10个for (int i = 0; i < 10; i++) {System.out.print(forrandom[i] + " ");}System.out.println();
//0  1  2  3  4  5  6  7  8     i=0 对9取余=0
//9  10 11 12 13 14 15 16 17    i=1 对9   =1
//18 19 20 21 22 23 24 25 26    i=2for (int k = 0; k < 10; k++) {int x = forrandom[k] / 9;int y = forrandom[k] % 9;a[x][y] = "@";}// (0,0)(0,1)(0,2)(0,3)..数组下标// (1,0)(1,1)(1,2)(1,3)..// (2,0)(2,1)(2,2)(2,3)..// (3,0)(3,1)(3,2)(3,3)..// ..// (-1,-1)(-1,0)(-1,1)(0,-1)(0,1)(1,-1)(1,0)(1,1)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 < 9; i++) {for (int j = 0; j < 9; j++) {int count = 0;if (a[i][j] != "@") {// 不能为雷for (int k = 0; k < 8; k++) {int xx = i + x[k];int yy = j + y[k];if (xx >= 0 && yy >= 0) {// 不能出界if (a[xx][yy] == "@") {count = count + 1;// 累计这八个方位的雷总数}}}a[i][j] = count + "";// 输出String型int+""}}}// 打印输出for (int i = 0; i < 9; i++) {for (int j = 0; j < 9; j++) {System.out.print(a[i][j]);}System.out.println();}}`

随机生成的雷的位置:

得到的扫雷图,@表示雷:

第一次写博客,比较粗糙,希望对你有所帮助

Java实现扫雷(简化版)相关推荐

  1. Java 实现扫雷与高胜率低耗时自动扫雷 AI (下)

    上一篇博客介绍了本项目总体情况, 这一篇来介绍一下我实现的自动扫雷 AI 算法. 本 AI 胜率比网上最高胜率的 AI 差 0.5% 左右. 不过本 AI 也不是没有优势, 它运算速度很快 (强行有优 ...

  2. java扫雷设计_毕业设计Java版扫雷的设计与实现介绍

    毕业设计Java版扫雷的设计与实现介绍 java语言eclipse环境 源码+精品文档 价格98元 扫雷是一款玩法相当简单的大众化的小游戏,游戏的胜利条件是在最短的时间内根据点击格子出现的数字找出所有 ...

  3. 基于java的扫雷论文_毕业论文基于java的扫雷游戏的设计与实现.doc

    毕业论文基于java的扫雷游戏的设计与实现 JAVA程序设计A课程设计 题 目 基于JAVA的扫雷游戏的设计与实现 院 (系) 信息工程学院 专 业 班 级 计算机科学与技术(2)班 学 生 姓 名 ...

  4. java控制台扫雷_java实现扫雷游戏控制台版

    本文实例为大家分享了java实现扫雷游戏控制台版,供大家参考,具体内容如下 扫雷游戏 a.游戏的分析 在游戏中需要存在对象包含哪些. 格子对象(grid): 属性:内容(content).状态(typ ...

  5. 基于java的扫雷论文_毕业论文基于JAVA的扫雷游戏设计

    毕业论文基于JAVA的扫雷游戏设计 课 程 设 计 报 告 课程名称: 计算机技术综合课程设计 题 目: 基于JAVA语言的扫雷游戏设计 学 院: 信息工程 系: 计算机 专 业: 计算机科学与技术 ...

  6. JAVA版扫雷游戏,清晰易懂,注释多

    这是一篇关于JAVA的扫雷游戏,所有的图片均用文字代替,代码可直接运行. 文章目录 开发环境 一.下载方法 二.运行效果展示 三.代码部分 1.代码如下 总结 开发环境 开发工具:eclipse202 ...

  7. Java Swing扫雷游戏demo分享

    好多年前写过简略的扫雷游戏,模拟windows的. 后来由于多次搬迁环境,弄丢了,遗憾不已啊. 于是趁着这两年还在编程的道路上,趁热再次编写了一次,同时也扩展了功能,更接近windows的扫雷. 此次 ...

  8. JAVA实现扫雷游戏

    后记:经评论区提醒,发现有两个bug没考虑到,感谢大家的提醒 bug1:绘制雷的时候有可能把两个雷随机到同样的位置.解决方法是在绘制雷的for循环内,rRow和rCol生成后做一个检测即可: /* 绘 ...

  9. java版扫雷游戏源代码

    package com.bomb.UI; import javax.swing.JButton; import java.awt.*; import javax.swing.*; import jav ...

最新文章

  1. Spring Boot 启动时,让方法自动执行的 4 种方法!
  2. Django REST framework API 指南(2):响应
  3. LSMW批处理使用方法(06)_步骤4、5
  4. bzoj3438: 小M的作物
  5. 逻辑斯蒂回归_逻辑斯蒂回归详细解析 | 统计学习方法学习笔记 | 数据分析 | 机器学习...
  6. python基础学习1-内置函数
  7. uni app input添加获取验证码按钮_uni-app跨平台框架对微信小程序的无障碍支持探索...
  8. vs2017下开发C++MFC动态库实现
  9. WSARecv参数lpNumberOfBytesRecvd的一个变态问题
  10. 笔记本卡顿不流畅是什么原因_为什么越来越多的笔记本电池不可拆卸
  11. Come On, Baby!
  12. Qt与VS2008的便捷安装(非编译源码方式),并解决错误“Unable to find a Qt build”
  13. 下载编译LineageOS代码
  14. bt种子爬虫程序和种子解析(大蟒蛇语言编写)
  15. 《FLUENT 14流场分析自学手册》——1.2 流体运动的基本概念
  16. SpringBoot2通过CXF框架整合Webservice
  17. 设置http代理解决qq音乐pc版无法播放问题
  18. KMS模拟器VLMCSD再次更新
  19. cf黑机器多久解除_[CF]黑机器码过无限提示一分钟强制踢出游戏的方法
  20. latex 中的长度单位,尺寸

热门文章

  1. 21年招银网络校招电话一面问题
  2. 十七.用户注册 ---- 图形验证码 2021-04-03
  3. 大实话:男人都想找个贞洁女子做老婆
  4. 如何在打开 CANoe 时添加相应的 license?
  5. SpringBoot 生成pdf文件(含报表)
  6. Ubuntu编译ijkplayer so库并播放本地raw/assets文件
  7. CSS中那些px、em、pt、rem、%、dp(android)单位
  8. 怎么监控Linux流量,linux下监控流量
  9. 怎么把照片改成jpg格式?照片如何转换jpg格式?
  10. 输出英文字母的后继字母 c语言,Java 【打印俄文的英文字母】