易码技术论坛

 找回密码
 加入易码
搜索
查看: 722668|回复: 16

[归档] 跟风~~~~用JAVA实现的一个Maze类 传张图=。=

[复制链接]
发表于 2006-10-28 17:25:03 | 显示全部楼层
┌╮┌──┐╭─┬┐┐ ┌──┐─┐┌─┬─┐┐┌─╯┌─┐
 ││  │  │ │┐┌─╮│╮│╭└─┴┘┘│  │ │
┌╮├──┤└─┼─││└ └┤└┤├──┼─┤│  │ │
  └──╯┌─┴┐││╭ ┌┤┌┤└──┴─╯├──│ │
 │├╯├╯│  │││└─┘│┘│└──┼┼╯└──├─╯
└╯└─└┘└──╯└╯└──╯─╯╰┬─┴┼┘   └  

水一个先=。=
发表于 2006-10-28 17:51:49 | 显示全部楼层
不错,鼓励,一会会有小奖励
发表于 2006-10-28 22:49:20 | 显示全部楼层
拿了我的课程报告做出来的东西居然比我华丽...
 楼主| 发表于 2006-10-28 23:30:14 | 显示全部楼层
那是~我充分的化糟粕为精华了~
    ┐ ┌┐┌╯─╮┌┐┌╯─╮┌┐┌╯─╮
┌┐──┼┘│││  ││││  ││││  │
││  │ │││──││││──││││──│
││──┼┘││┌──┐││┌──┐││┌──┐
││──┼┘│││  ││││  ││││  │
└╯──┴┘└╯└──╯└╯└──╯└╯└──╯
发表于 2006-10-29 04:57:18 | 显示全部楼层
我想知道小奖励是什么……
发表于 2007-1-1 02:43:25 | 显示全部楼层
问一个小问题行不?
这个程序只能实现偶数行偶数列 到 偶数行偶数列的寻路
怎么才是实现任意坐标间的寻路呢?
请指教
dream.guo@gmail.com
 楼主| 发表于 2007-1-1 16:51:31 | 显示全部楼层
回楼上的
你说的偶数只是相对来说
如果你看我的源代码会发现在寻路部分我使用的是一个1/2迷宫长宽的数组(即只表示路径的信息) 并没有偶数行偶数列的说法
也就是说路径本身是任意坐标的 只是因为和墙壁储存在一起才会使路径是偶数行偶数列 这个是存储时使用的数据结构的问题
这里的迷宫基本单元是一个
■■■
■  ■
■■■的形状 除了中间那格是路径 别的都是墙壁罢了 也就是说如果我用一个类来表示一个单元格 并用这个单元格的类的数组来表示迷宫 那么就是任意坐标了啊 如果把墙壁改成没有厚度即这个形状的话
新建 ACDSee 7.0 BMP 图像.gif (8 KB, 下载次数: 147)
发表于 2007-1-1 17:21:31 | 显示全部楼层
将墙壁由方格退化为线条,即可。
发表于 2007-1-1 22:30:19 | 显示全部楼层
谢谢啦 收到……  我继续研究研究

感谢!!!!
发表于 2007-1-1 22:43:27 | 显示全部楼层
我的意思是说 要是想随意指定 起始 和 终点
是不是应该修改findway方法啊?

代码我已经研究过了
发表于 2007-1-1 22:54:04 | 显示全部楼层
可以指定任意的起始终止点~
发表于 2007-1-1 23:05:01 | 显示全部楼层
但是呢 指定起始终止指标后 都是其值的2倍呢
比如 启点 [1][1]  终点 [2][2]
在程序运行后呢 起点就成了 [3][3]  终点[5][5]

很郁闷啊  是不是 得修改 findway方法呢?
发表于 2007-1-1 23:52:31 | 显示全部楼层
起点终点肯定不能指定到墙上面啊~
因为这个迷宫把墙和路做成一样大小的了,所有就有某个奇数的限制。
如果把墙退化为线就没有这个问题了~
 楼主| 发表于 2007-1-2 14:03:47 | 显示全部楼层
嗯 findWay中有 startX startY endX endY这4个变量 修改这4个变量即可 别的无需修改
不过draw的部分也需要修改才行

当然你也可以修改整个类 给他加入关于起点和终点的参数以及方法 我只是默认起点为左上角 终点为右上角
发表于 2007-1-2 20:31:05 | 显示全部楼层
可是 事实上 如果
    startX = 1; // 起点X坐标
    startY = 1; // 起点Y坐标
    mark[startY][startX] = VISITED;
    endX = width / 2 - 1; // 终点X坐标
    endY = height / 2 - 1; // 终点Y坐标

运行后 实际上 起点是  3,3  可是明明设置的是1,1
郁闷啊
 楼主| 发表于 2007-1-4 17:11:46 | 显示全部楼层
是 1,1是路径坐标 3,3是这个格子在整个迷宫中的坐标 前面已经说过了这是迷宫单元格存储结构的问题
 楼主| 发表于 2006-10-28 17:21:52 | 显示全部楼层 |阅读模式
跟风啊跟风~反正这个学期学JAVA~碰到什么就写一个试试
又一个传说中的看着C++写JAVA的东西诞生了

┌┐┌╯─╮┌┐┌╯─╮┌┐┌╯─╮┌┐┌╯─╮
│││  ││││  ││││  ││││  │
│││──││││──││││──││││──│
││┌──┐││┌──┐││┌──┐││┌──┐
│││  ││││  ││││  ││││  │
└╯└──╯└╯└──╯└╯└──╯└╯└──╯

说来最早用GVB写过一个Maze 那速度简直无法忍受 貌似那个东西在D.M中流传过(忘了)

放上源文件 有兴趣的可以看看 有注释

图片

图片

MyMaze.rar

74 KB, 下载次数: 90

源文件在此

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-29 16:25 , Processed in 0.012781 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表