SRPG中的行走范围问题
类似火炎纹章,梦幻模拟战等经典srpg中选定一个人物然后在菜单中选择行走会显示该人物的行走范围,如果没有阻挡的话判断是比较简单的,但是如果有比如敌人或山丘之类阻挡的话该如何判断?我考虑过敌人身后横向和纵向都设置为不可行走,但是这样的话行走范围会变得很小,而且在游戏中会显得很奇怪。向有经验的朋友请教一下该怎么设置才合理? 问题点数:100、回复次数:11Top
1 楼smzh8(QQ:420827644)回复于 2006-03-24 09:44:24 得分 2
你可以设置一个距离范围为一个最大距离值,但要判断,角色的四周四个方向是否畅通.Top
2 楼zzwu(未名)回复于 2006-03-24 10:05:30 得分 0
要搜索不被阻挡的所有可能路径.Top
3 楼blackprogramming(black)回复于 2006-03-24 10:27:54 得分 0
能否具体说说思路?Top
4 楼realdreamer(楼主英明,贫僧久仰大名,特来拜见)回复于 2006-03-25 09:26:43 得分 0
这个不是很简单吗, 就是寻路算法嘛.
楼主在做这方面游戏吗 :)Top
5 楼blackprogramming(black)回复于 2006-03-30 13:48:21 得分 0
寻路只需要获得最佳路径,但是阻挡的范围控制就是另外一回事了,我不知道如何设置阻挡的范围看起来比较合理,哪位有经验的说说?Top
6 楼blackprogramming(black)回复于 2006-04-01 01:15:39 得分 0
顶~Top
7 楼CHINACFC(天字号)回复于 2006-04-03 10:35:26 得分 6
根据人物机动力,模拟向人物四个方向走,走过的地方一定是可以走的地方,设为可走,没走过的设为不可走.
如果走到敌人面前,机动力变0或减X,障碍物只是阻挡
只有把所有可能走的路径都走了,根据是否走过把格子设置成可走的或不可走的就可以了.
Top
8 楼zzwu(未名)回复于 2006-04-13 17:21:11 得分 2
地图是已知的,选定一个人物后,他在地图上的位置也就知道,如何搜索还不好办吗?Top
9 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2006-04-13 19:24:04 得分 90
这类游戏,一般是网格化了地图,人物赋予了移动能力的概念,比如4个标准格子或者5个标准格子的距离。
为了好玩或者逼真,相邻的格子之间的移动并不是完全相同的,
如果能够移动过去,就是连通的,有路径的,而且是按照数据结构当中图的理论,赋予了不同的权值
比如,平面上两个相邻的格子之间相互移动是一样的,都用标准的权10来衡量
对于高低不同的两个格子,权值也许一个是5(下山),一个是15(上山)
这样从某个格子开始,可以移动多大距离,可以用图论当中的最短连通距离来衡量
为了好玩,对于移动到堡垒可能需要多移动一个格子才可以,也就是说,从周围的格子移动进入堡垒都需要20个权值,而从里面移动出来只需要10个权值
另外,当有敌人或者npc出现,占据格子的时候,格子和格子之间的连通是不存在的了
因此也会影响到,不同格子之间的最短连通距离,因此也会改变人物可到达的地点范围了
对于是否可以移动到,永远使用相同的算法,最短加权移动距离来计算就是了。
Top
10 楼honghaier(红孩儿)回复于 2006-04-14 09:32:20 得分 0
OH,一个贴子砸出两个"三级大师"~
对了"天字号"兄现在哪混了?
Top
11 楼hyq1986(func)(我是一只大蘑菇,咿呀咿呀哟~)回复于 2006-04-14 14:50:03 得分 0
SRPG里判断可走的格子,貌似和扫雷里开格子的算法类似~而且算法速度上的困难要比寻路宽松些,个人感觉这样。Top




