博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
爪哇国新游记之二十六----迷宫寻路
阅读量:5887 次
发布时间:2019-06-19

本文共 1777 字,大约阅读时间需要 5 分钟。

代码:

class Position{    int x;    int y;        public Position(int x,int y){        this.x=x;        this.y=y;    }}// 迷宫寻路public class Maze{    private int size;    private int[][] matrix;// 代表迷宫的二维数组,0表示通路        /**     * 构建迷宫     * 迷宫的左上角为入口,右下角为出口     * @param size 二维数组的边长     * @param percent 可通过区域占整体的比例      */    public void build(int size,double percent){        this.size=size;        matrix=new int[size][size];                for(int i=0;i
percent){ matrix[i][j]=0; }else{ matrix[i][j]=1; } } } // 入口出口不能堵死 matrix[0][0]=0; matrix[size-1][size-1]=0; } // 打印迷宫 public void displayMatrix(){ for(int i=0;i
stack=new Stack
(Position.class,size*size); matrix[0][0]=1; Position curr=new Position(0,0); stack.push(curr); while(curr.x!=size-1 || curr.y!=size-1){ Position next=getWayout(curr); if(next!=null){ stack.push(curr); matrix[next.x][next.y]=1; curr=next; }else{ if(stack.isEmpty()){ return false; }else{ curr=stack.pop(); } } } // matrix 取回原值 for(int i=0;i

输出之一:

迷宫图示☆☆★☆☆☆☆★☆★☆☆☆☆☆☆☆☆☆☆☆★☆☆☆★☆☆★☆☆☆★☆☆★☆★☆☆☆☆☆★★☆★☆☆★☆☆☆☆★☆★☆☆☆★★☆☆☆☆☆☆★☆☆☆☆☆☆☆☆☆☆★☆☆★★★☆☆★★☆☆☆★★☆☆☆☆☆☆迷宫走得通,下图圆点为路径⊙☆★☆☆☆☆★☆★⊙☆☆☆☆☆☆☆☆☆⊙★☆☆☆★☆☆★☆⊙☆★☆☆★☆★☆☆⊙☆☆★★☆★☆☆★⊙⊙⊙☆★☆★☆☆☆★★⊙☆☆☆☆☆★☆☆☆⊙⊙⊙⊙☆☆☆★☆☆★★★⊙☆★★☆☆☆★★☆⊙⊙⊙⊙⊙

输出之二:

迷宫图示☆☆☆☆★☆☆☆★☆☆★☆★★★☆☆☆★★☆☆☆☆☆☆☆☆☆☆☆☆☆☆★☆☆☆☆★☆☆☆★☆★★★★☆☆☆☆★★☆☆★☆★☆☆★☆☆★☆☆★☆☆☆☆☆☆☆☆☆☆☆☆☆★☆☆★☆★★☆☆★★☆☆☆★☆☆迷宫走不通

 

转载地址:http://hpgix.baihongyu.com/

你可能感兴趣的文章
白话讲反射技术 --- 适合初学者入门引导
查看>>
css变形 transform
查看>>
Entity Framework 4 in Action读书笔记——第七章:持久化对象到数据库:使用SaveChanges持久化实体...
查看>>
Android安全讲座第八层 android应用的安装和卸载
查看>>
bootstrap-下拉菜单(菜单项状态)
查看>>
SQL Server中如何监控死锁(Deadlock)
查看>>
View State的知识
查看>>
Mysql压缩版forWindows安装与配置
查看>>
win7家庭版添加组策略编辑器
查看>>
iOS 一个开发者账号 多台Mac 共用
查看>>
Java函数不接受返回值调用
查看>>
lnmp环境搭建
查看>>
3.JUC之volatile
查看>>
oracle:win7手工卸载oracle数据库11g
查看>>
自定义session扫描器精确控制session销毁时间--学习笔记
查看>>
NPY and girls
查看>>
基于busybox搭建功能完善的小型linux(一)
查看>>
【转】在控制台、WinForm项目中的嵌入mdf文件的烦恼
查看>>
android The project target (Android 2.3.3) was not properly loaded
查看>>
【转】EDK简单使用流程(3)
查看>>