lua递归函数的编写,为了解决一个游戏当中遇到的复杂问题

本文介绍了一种使用Lua递归函数解决游戏中道具获取途径的问题。递归函数用于判断道具是否能通过商店购买,考虑了道具的合成、进化、染色等复杂情况。文章详细分析了数据结构,并提供了相应的递归代码实现。
摘要由CSDN通过智能技术生成


一. 需求:

传入一个道具id,递归地判断它的获取途径里的其中一个道具是否可以从商店购买得到,如果可以,则返回true,否则返回false



先弄清楚道具的获取途径:

1. 通过商店购买、关卡掉落、xx店获得

2. 由1个道具进化而来
3. 由1个道具染色而来,但是可选的范围可能有N种道具
4. 由N个道具合成而来


但是,还有更复杂的几种情况要考虑:

1. 复杂情况1:某个道具由N个子道具合成而来,但是这N个子道具,又可能分别是进一步由合成、购买或者进化而来...

2. 复杂情况2:某个道具本身不可以购买,所有子道具也不能通过进化、合成获得,但是可以通过染色方式获得,而某一种染色的源道具是可以从商店购买到的


二、数据结构:

gdClothesData = {

    [10008]= {

        id = 10008,

        ...

        cvt_base=10007

   }

}


gdClothesEvolutionData ={
[10065]= {id=10065,num=6,src=10064,},
[10066]= {i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值