java实现老鼠迷宫游戏
我们可以把迷宫当成一个二位数组,其中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实现老鼠迷宫游戏相关推荐
- 基于JAVA的简单迷宫游戏
一.实验要求 1. 迷宫游戏是非常经典的游戏,在该题中要求随机生成一个迷宫,并求解迷宫. 2. 要求游戏支持玩家走迷宫,和系统走迷宫路径两种模式.玩家走迷宫,通过键盘方向键控制,并在行走路径上留下痕迹 ...
- java大一下期末作业老鼠迷宫Swing窗口实现
老鼠迷宫窗口实现 需求 游戏界面 界面布局 创建窗口mouse类 panel类 需求 空格键开始游戏 每次游戏自动随机生成路障 再次按空格键暂停/继续 失败后按空格键重新开始 方向键控制移动方向 每隔 ...
- 递归走迷宫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 ...
- 益智java单词游戏_java实现单词搜索迷宫游戏
本文实例讲述了java实现单词搜索迷宫游戏.分享给大家供大家参考.具体分析如下: 我们在杂志上,经常能够看到找单词的小游戏,在一个二维表格中,存在各种字母,我们可以从八个方向找单词.这个用计算机处理十 ...
- java课设小迷宫含代码_Java小项目之迷宫游戏的实现方法
项目要求: 一个网格迷宫由n行n列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示),你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格.任何时候都不能在有 ...
- java 迷宫游戏_Java小项目之迷宫游戏的实现方法
项目要求: 一个网格迷宫由n行n列的单元格组成,每个大院个要么是空地(用0表示),要么是障碍物(用1表示),你的任务是找一条从起点到终点的移动序列,其中只能上下左右移动到相邻单元格.任何时候都不能在有 ...
- 项目三 Java开发迷宫游戏
一.项目预习: 思考过程: 迷宫由一个一个格子组成,要求从入口到出口只有一条路径. 通过树实现是比较容易的,从根节点到每一个子节点都只有一条路径.假设入口是根节点,出口是树中某个子节点,那么,从根节点 ...
- java代码老鼠走迷宫案例
java代码老鼠走迷宫案例 public class MiGong{//编写一个main方法public static void main(String[] args) {//思路// 1. 先创建迷 ...
- 基于深度优先算法和A*算法的迷宫游戏开发(Java实现)
先上图 文章目录 一.实验内容 二.深度优先算法生成迷宫 三.A*算法走迷宫 四.结果测试 五.源代码 六.参考文献 一.实验内容 1.要求: 1)迷宫随机生成 2)系统用A*算法寻路,输出路径 3) ...
最新文章
- 微生物组数据库(http://egcloud.cib.cn)正式上线
- SQL 2005新增的几个函数之学习
- 使用AspectCore动态代理
- Java 运算符、表达式、语句
- 深入剖析线程池基本原理以及常见面试题详解
- Unity3D基础33:物理射线
- OpenCV图像处理(6)——轮廓标记
- win7 64位_VS2010的fftw3配置
- WebSocket+HTML5实现在线聊天室
- 阿里云云计算 52在线实验--云监控初体验
- 【Unity Shaders】ShadowGun系列之一——飞机坠毁的浓烟效果
- 常见的日期计算问题(模板)
- 网络变压器(滤波器)差模信号及网络滤波器差模传输特性
- 总结:服务网格(Service Mesh)
- 装了xmapp还需要装mysql吗_安装xamp之后,appach、mysql等问题的总结
- 2023年的深度学习入门指南(10) - CUDA编程基础
- 一款免费的屏幕录制软件
- python3.7 安装 scrapy, pip 升级
- java基于springboot+vue的企业公司员工人事管理系统 nodejs 前后端分离
- Oracle创建同义词及dblink
热门文章
- 解决win10(联想电脑)自动删除一些破解文件
- 网络层(八)ARP欺骗
- bicq php,BICQ 1、首先 软件跟QQ和MSN有很多类似的地方。因为现在 用户群在使用 WEB(ASP,PHP,...) 256万源代码下载- www.pudn.com...
- Action层, Service层 ,modle层 和 Dao层的功能区分【和语言无关,只是为了了解这几个层是干什么的】
- python to datetime_python-pd.to_datetime或解析日期时间不适用于我...
- 程序员怎么才能快速熟悉掌握一个项目
- 基本求导公式 与 基本积分
- lorawan服务器通信协议,LoRaWAN网络架构和解决方案介绍
- IDEA如何创建web项目
- 5分钟构建一个自己的无人驾驶车