我们可以把迷宫当成一个二位数组,其中1代表障碍物,走不了,初始化一个二维数组,设置好障碍物

//老鼠迷宫int[][] map = {{1,1,1,1,1,1,1,1},{1,0,0,0,0,0,0,1},{1,1,0,0,0,0,0,1},{1,0,1,0,0,0,0,1},{1,0,0,0,1,0,0,1},{1,0,1,1,0,0,1,1},{1,1,0,0,0,0,0,1},{1,1,1,1,1,1,1,1},};

从全局上来看,老鼠的线路应该是如下的,才能走出迷宫,但实际上,老鼠需要绕路,遇到障碍物回头才对。

思路:
1.设老鼠的行进路线都是优先选择下->右->上->左。
2.设老鼠很聪明,走过的路线走撒泡尿,表示鼠大爷到此一游,我们可以把数组的值改为3,表示走过,但走不通。
3.这是一个int[8][8]的二位数组,那么开始位置下标是1,1,结束位置是6,6。行和列分别用、j表示。
4.实际路线我们可以设置2表示,我们可以使用递归,让老鼠不断测试路线。
5.最后打印数组,看老鼠的实际路线。
代码如下:

public boolean mouseMaze(int[][] map,int i,int j) {if(map[6][6] == 2) {return true;}else {if(map[i][j] == 0) {map[i][j] = 2;//假设是可以走的if(mouseMaze(map,i + 1, j)) {//向下走return true;} else if(mouseMaze(map,i,j + 1)) {//向右走return true;} else if(mouseMaze(map,i - 1,j)) {//向上走return true;} else if(mouseMaze(map,i,j - 1)) {//向左走return true;} else {map[i][j] = 3;return false;}}else{return false;}}}

打印二维数组,数据结果为:

可以看到,符合我们预期,并且老鼠在其中是走过弯路的,在4,5,6行碰壁后退回,重新选择了路线。

java实现老鼠迷宫游戏相关推荐

  1. 基于JAVA的简单迷宫游戏

    一.实验要求 1. 迷宫游戏是非常经典的游戏,在该题中要求随机生成一个迷宫,并求解迷宫. 2. 要求游戏支持玩家走迷宫,和系统走迷宫路径两种模式.玩家走迷宫,通过键盘方向键控制,并在行走路径上留下痕迹 ...

  2. java大一下期末作业老鼠迷宫Swing窗口实现

    老鼠迷宫窗口实现 需求 游戏界面 界面布局 创建窗口mouse类 panel类 需求 空格键开始游戏 每次游戏自动随机生成路障 再次按空格键暂停/继续 失败后按空格键重新开始 方向键控制移动方向 每隔 ...

  3. 递归走迷宫java,java递归实现的迷宫游戏

    java递归实现的迷宫游戏 public class Migong { private int gard[][]={  {1,1,1,1,0,1,1,1}, {0,0,0,1,1,1,1,1}, {1 ...

  4. 益智java单词游戏_java实现单词搜索迷宫游戏

    本文实例讲述了java实现单词搜索迷宫游戏.分享给大家供大家参考.具体分析如下: 我们在杂志上,经常能够看到找单词的小游戏,在一个二维表格中,存在各种字母,我们可以从八个方向找单词.这个用计算机处理十 ...

  5. java课设小迷宫含代码_Java小项目之迷宫游戏的实现方法

    项目要求: 一个网格迷宫由n行n列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示),你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格.任何时候都不能在有 ...

  6. java 迷宫游戏_Java小项目之迷宫游戏的实现方法

    项目要求: 一个网格迷宫由n行n列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示),你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格.任何时候都不能在有 ...

  7. 项目三 Java开发迷宫游戏

    一.项目预习: 思考过程: 迷宫由一个一个格子组成,要求从入口到出口只有一条路径. 通过树实现是比较容易的,从根节点到每一个子节点都只有一条路径.假设入口是根节点,出口是树中某个子节点,那么,从根节点 ...

  8. java代码老鼠走迷宫案例

    java代码老鼠走迷宫案例 public class MiGong{//编写一个main方法public static void main(String[] args) {//思路// 1. 先创建迷 ...

  9. 基于深度优先算法和A*算法的迷宫游戏开发(Java实现)

    先上图 文章目录 一.实验内容 二.深度优先算法生成迷宫 三.A*算法走迷宫 四.结果测试 五.源代码 六.参考文献 一.实验内容 1.要求: 1)迷宫随机生成 2)系统用A*算法寻路,输出路径 3) ...

最新文章

  1. 微生物组数据库(http://egcloud.cib.cn)正式上线
  2. SQL 2005新增的几个函数之学习
  3. 使用AspectCore动态代理
  4. Java 运算符、表达式、语句
  5. 深入剖析线程池基本原理以及常见面试题详解
  6. Unity3D基础33:物理射线
  7. OpenCV图像处理(6)——轮廓标记
  8. win7 64位_VS2010的fftw3配置
  9. WebSocket+HTML5实现在线聊天室
  10. 阿里云云计算 52在线实验--云监控初体验
  11. 【Unity Shaders】ShadowGun系列之一——飞机坠毁的浓烟效果
  12. 常见的日期计算问题(模板)
  13. 网络变压器(滤波器)差模信号及网络滤波器差模传输特性
  14. 总结:服务网格(Service Mesh)
  15. 装了xmapp还需要装mysql吗_安装xamp之后,appach、mysql等问题的总结
  16. 2023年的深度学习入门指南(10) - CUDA编程基础
  17. 一款免费的屏幕录制软件
  18. python3.7 安装 scrapy, pip 升级
  19. java基于springboot+vue的企业公司员工人事管理系统 nodejs 前后端分离
  20. Oracle创建同义词及dblink

热门文章

  1. 解决win10(联想电脑)自动删除一些破解文件
  2. 网络层(八)ARP欺骗
  3. bicq php,BICQ   1、首先 软件跟QQ和MSN有很多类似的地方。因为现在 用户群在使用 WEB(ASP,PHP,...) 256万源代码下载- www.pudn.com...
  4. Action层, Service层 ,modle层 和 Dao层的功能区分【和语言无关,只是为了了解这几个层是干什么的】
  5. python to datetime_python-pd.to_datetime或解析日期时间不适用于我...
  6. 程序员怎么才能快速熟悉掌握一个项目
  7. 基本求导公式 与 基本积分
  8. lorawan服务器通信协议,LoRaWAN网络架构和解决方案介绍
  9. IDEA如何创建web项目
  10. 5分钟构建一个自己的无人驾驶车