游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3632|回复: 6

关于五行相克的算法问题

[复制链接]

56

主题

758

帖子

768

积分

高级会员

Rank: 4

积分
768
发表于 2008-2-18 14:02:00 | 显示全部楼层 |阅读模式
关于五行,金木水火土相克,比如:水-火-木-土-水(不算金),如何表现他们的相克,比如水属性遇土属性,能力降低,遇火属性能力提高,其他属性没有变化?
我尝试用1代表水,2代表土...利用数值大小比较,可是这样的话火的值大于水,需要判断,太麻烦。又简便的方法吗?高手指教!谢谢!

0

主题

212

帖子

220

积分

中级会员

Rank: 3Rank: 3

积分
220
发表于 2008-2-18 14:31:00 | 显示全部楼层

Re: 关于五行相克的算法问题

倒,没看明白楼主的意思……

只能说第二段,金木土水火,非要用数字来编为12345的话,如果不做相生,那么用A和B代表双方属性,
if A - B == 1
那么B克制A
exit
elseif A - B == 4
那么A克制B
exit
else
无直接关系
exit

4

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-2-19 09:50:00 | 显示全部楼层

Re: 关于五行相克的算法问题

没必要非要用数字,即使用了也可以直接判断,总共也就五种而已.
最直接方法:
if(水&火)
能力增加
if(水&土)
能力减弱
仔细考虑应该还有简便的方法吧

4

主题

61

帖子

61

积分

注册会员

Rank: 2

积分
61
发表于 2008-2-19 09:53:00 | 显示全部楼层

Re: 关于五行相克的算法问题

值得注意的是
if(水&土)
能力减弱

if(土&水)
能力增强
这俩效果,这样一个减弱一个增强,差值是2倍的关系

17

主题

24

帖子

26

积分

注册会员

Rank: 2

积分
26
发表于 2008-2-19 11:07:00 | 显示全部楼层

Re: 关于五行相克的算法问题

编写一个5X5的2纬数组......

11

主题

1238

帖子

1782

积分

金牌会员

Rank: 6Rank: 6

积分
1782
发表于 2008-2-19 15:31:00 | 显示全部楼层

Re: 关于五行相克的算法问题

12

主题

2010

帖子

2028

积分

金牌会员

Rank: 6Rank: 6

积分
2028
发表于 2008-2-19 18:00:00 | 显示全部楼层

Re: 关于五行相克的算法问题

很多种做法,如5楼一样可以做一个数组
  金 木 水 火 土
金 0 -1 +1  0  0
木-1  0  0  0 +1
水 0  0  0 +1 -1
火 0 +1 -1  0  0
土 0 -1 +1  0  0
然后查表就行了,比如 Wuxing[x][y],x代表攻击方,y代表防御方.
Attack = Attack + Wuxing[Hero.m_Wuxing][Enemy.m_Wuxing];

还有一种方法是循环链表,直接找到链表看上下的关系就可以判断并执行结果了.

伙计学好<数据结构>这本书很重要哦.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-20 04:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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