这是一个创建于 4403 天前的主题,其中的信息可能已经有所发展或是发生改变。
该章节翻译如下:http://blog.csdn.net/lxwde/article/details/131569
有3个对象:
黑板(cite reference)
显示老鼠探测出来的迷宫的结构信息。
迷宫(Maze)
初始化一个迷宫入口坐标,这里是(0,0)。
根据当前输入坐标,返回该坐标四周情况,是墙壁还是空地。
老鼠(Rat)
向黑板返回自己的当前信息。
向迷宫发出自己的位置坐标,请求当前位置的信息。
遇到分岔路时,创建一个新的老鼠去走分岔路。
当无法继续前进的时候,向黑板报告自己的当前信息后,结束自己所在的线程。
对设计模式不是很熟练,不知道这里面用了哪种设计模式。
3 条回复 • 1970-01-01 08:00:00 +08:00
|
|
1
qq286735628 2012-05-06 14:57:09 +08:00
主要代码如下,先new一个迷宫,再new一个黑白,然后把迷宫放进黑板里面,最后new一个老鼠,让老鼠去探迷宫 <code> Maze m = new Maze();
m.load(args[0]);
Frame f = new Frame();
f.setSize(m.width*20, m.height*20);
f.add(m);
Rat r = new Rat(m, 0, 0);
f.setVisible(true); </code>
|
|
|
2
manhere 2012-05-06 15:03:23 +08:00
不懂设计模式,不过走迷宫最简单的办法就是“摸着一侧的墙不停走”。
|
|
|
3
qq286735628 2012-05-06 15:16:50 +08:00
@ manhere 嗯,摸墙是一个方法。 不过这里面是每遇到一个分岔路就新建一个老鼠线程继续走下去。 关键是我看不懂这用了什么方法。
|