Java迷宫算法 Java迷宫算法

  • X1_197727
    了解作者
  • 2.1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-25 04:05
    上传日期
Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法;Java迷宫算法
java实现迷宫求解算法.rar
  • maze
  • Maze.java
    2.1KB
  • Person.java
    1.7KB
  • Point.java
    504B
  • State.java
    2.3KB
内容介绍
package maze; public interface State { String SOUTH = "SOUTH"; String WEST = "WEST"; String NORTH = "NORTH"; String EAST = "EAST"; void left(Person p); void right(Person p); boolean run(Person p); abstract String getState(); } class SouthState implements State { @Override public void left(Person p) { p.state = new EastState(); } @Override public void right(Person p) { p.state = new WestState(); } @Override public String getState() { return SOUTH; } @Override public boolean run(Person p) { if (p.isBackPath()) return false; p.y++; if (Maze.isThrough(p.x, p.y, p.maze)) { p.path.push(new Point(p.x, p.y, getState())); return true; } else { p.y--; return false; } } } class WestState implements State { @Override public void left(Person p) { p.state = new SouthState(); } @Override public void right(Person p) { p.state = new NorthState(); } @Override public String getState() { return WEST; } @Override public boolean run(Person p) { if (p.isBackPath()) return false; p.x--; if (Maze.isThrough(p.x, p.y, p.maze)) { p.path.push(new Point(p.x, p.y, getState())); return true; } else { p.x++; return false; } } } class NorthState implements State { @Override public void left(Person p) { p.state = new WestState(); } @Override public void right(Person p) { p.state = new EastState(); } @Override public String getState() { return NORTH; } @Override public boolean run(Person p) { if (p.isBackPath()) return false; p.y--; if (Maze.isThrough(p.x, p.y, p.maze)) { p.path.push(new Point(p.x, p.y, getState())); return true; } else { p.y++; return false; } } } class EastState implements State { @Override public void left(Person p) { p.state = new NorthState(); } @Override public void right(Person p) { p.state = new SouthState(); } @Override public String getState() { return EAST; } @Override public boolean run(Person p) { if (p.isBackPath()) return false; p.x++; if (Maze.isThrough(p.x, p.y, p.maze)) { p.path.push(new Point(p.x, p.y, getState())); return true; } else { p.x--; return false; } } }
评论
    相关推荐
    • 遗传算法java工程
      工程利用遗传算法解决多路复用器的模拟状态,里面有充分的技术文档(英语)以及代码注释,自己写的,用不到了以后。贡献出来给大家。
    • 蚁群算法Java实现
      蚁群算法Java语言实现,包含一个TSP问题的源数据,导入后按照代码提示放在对应的位置,方便新手学习使用
    • 国密算法java实现
      国家商用密码管理局公布的标准国密算法SM4的算法实现哦
    • 遗传算法java实现
      本代码为Java实现的遗传算法,压缩包中有详细的说明,希望对各位有帮助
    • AHP算法java实现
      java实现AHP算法,包括文档说明,算法介绍等ppt文档 欢迎使用
    • tomasulo算法java实现
      自己用java实现的一个简单的tomasulo算法的实现对,并且做了界面,有助于对tomasulo算法有一个更好的了解
    • 经典算法JAVA
      与初学者分享 java 写的经典算法 求和,素数,兔子问题,年龄问题等
    • 匈牙利算法java实现
      java实现的匈牙利算法,
    • TFIDF算法java实现
      需要的就下吧,其实源代码和jar包之前都有提供,这次花费了点时间整理了下。
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档