RPG游戏装备合成算法

引言

一般的手游项目中,策划挖数值坑的点来来去去就几样:装备、宠物、宝石、附魔、强化。
想让玩家爆肝怎么办?调整爆率、升级、合成、突破、进化等等

只有你想不到的,没有老八做不到的。

今天给大伙整一个俄罗斯二手的装备合成算法
为什么是二手的,因为我不是第一个发博客写这个算法的人

需求

装备系统的合成图谱,箭头指向的是合成之后的装备,每合成一个装备需要消耗一些金币,箭头上的数字表示合成所需的材料数量。
比如,要合成n个装备A,需要消耗3n个装备B、1n个装备C、4n个装备D,而且还需要消耗26n金币(装备B和装备D的合成与此类似)。
在这里插入图片描述

思路

一般解决树结构的问题,首先想到递归。
其次限制合成装备的条件有两个,合成材料和金币。哪个优先级高呢,个人觉得是材料。

一般情况下,材料获取难度高于金币
虽然都可以在商城花费高级金币(钻石)购买材料和金币,但用钻石购买金币会让玩家产生血亏的感觉,策划应该避免这种情况

根据优先级,先算出不花费金币的情况下最多能合成的装备数量
然后计算合成一件装备的数量
最大数量×单价=总花费金币
总花费金币<玩家持有金币,最大数量便是结果
总花费金币>玩家持有金币,只能用玩家金币数除以单价得到结果

算法

public class Exam
{
   
    public class MaterialData
    {
   
        public ItemData item;   //合成所需的物品
        public int count;       //合成所需的该物品的数量
    }

    public class ItemData
    {
   
        public int id;                          //物品 ID
        
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值