2018-07-30

MazeFactory


项目介绍

本项目将完成如下两个功能:{

1.将给定迷宫的道路网格​,渲染为字符串输出

2.检查输入的有效性

道路网格(Road Grid)​ ​用来表示迷宫的道路,那么3 x 3的道路网格​可以对应一个7x7的渲染网格(Render Grid)​,如图所示:

道路网格有如下约束条件:

● 每一个cell只能够直接与相邻正南、正北、正东、正西的cell连通。不能够和其他的cell连通。

● 两个cell之间的连通一定是双向的。即cell(0,0)和cell(1,0)连通等价于cell(1,0)和cell(0,0)的连通。

}


软件架构说明

1.本项目采用抽象工厂模式实现,定义接口MazeFactory。实现类GridMazeFactory实现了网格迷宫工厂。

2.定义两个对象基类:网格基类Grid、迷宫接口Maze。Grid实现类包括MazeGrid(迷宫网格)和RoadMaze(道路网格),Maze实现类包括WrongMaze(错误迷宫)、GridMaze(网格迷宫)

3.定义记录位置的类:Position


使用说明

1.打开IDEA导入本项目工程,运行main方法

2.测试


测试用例

1.输入: 3 3

               101,12,1,1

   输出:Number out of range

2.输入: 3 3

               0,0, 1,1

  输出: Maze format error

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [{"reportDate": "2018-01-23 23:28:49","fluctuateCause": n...
    加勒比海带_4bbc阅读 783评论 1 2
  • 100个常用的javascript函数 1、原生JavaScript实现字符串长度截取 复制代码代码如下: fun...
    老头子_d0ec阅读 368评论 0 0
  • Jquery和纯JS实现轮播图(一)--左右切换式 一、页面结构 对于左右切换式的轮播图的结构主要分为以下几个部分...
    老头子_d0ec阅读 259评论 0 0
  • 明早就要出发 是快乐 还是堕落 是努力温柔 还是骄傲孤独 你面对 你选择 可无论怎样 你都要变得更加优秀 才对得起...
    Jenniezyn阅读 198评论 0 0
  • 醉酒策马断天涯 妙曲吟弹笑风华 高歌海角送余霞 风拔秋思雨不答
    依山赏月阅读 450评论 7 19