游戏装备升级问题

一.题目描述:

笔试的时候碰到某电商平台出的一个题:有一个游戏装备,在1-5级的升级过程中,成功率为50%,失败率为50%,且失败了保持级数不变;从5级升6级开始,如果失败会掉一级。每次升级花费一棵宝石。问从1级升到9级花费的宝石的期望数是多少?

二.思路

可以有两种解法:

列出1到9级之间的状态转移概率矩阵,然后得到k步之后的转移概率矩阵,从里面找出1转移到9的概率Pk,最终的期望为

E=limΣk*Pk(k趋近于无穷大)

这种方式计算量非常大,手动计算是计算不出来的,适合编程计算,我们使用第二种方法

第二种方法是递推公式法

分别计算E(1)到E(8),E(i)表示从等级i升级到i+1需要用到的宝石的个数的期望

当i<5的时候,

可以根据E(i)=0.5*1+0.5*(E(i)+1)

来得到E(i)

上面的等式表示的意思是使用1颗宝石,有0.5的概率升级成功,还有0.5的概率失败,使用的宝石数为1+E(i)

当i>=5时,

E(i)=0.5*1+0.5*(E(i-1)+E(i)+1)

表示当失败时需要执行两步:先从i-1升级到i,然后从i升级到i+1

最终从1级升级到9级需要用的期望宝石数为36颗

参考链接:

https://blog.csdn.net/weixin_33795743/article/details/90087311

https://blog.csdn.net/jiayoudangdang/article/details/81838326

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是一份简单的游戏装备进阶的 Lua 脚本示例: ```lua -- 假设装备的初始等级为 1,每次进阶需要消耗 10 个进阶材料 local maxLevel = 10 -- 装备最高等级 local costPerLevel = 10 -- 每升一级需要的进阶材料数量 local totalCost = 0 -- 已经消耗的进阶材料总量 -- 装备升级函数 function upgradeEquipment(equipment) if equipment.level >= maxLevel then print("装备已经到达最高等级,无法继续升级") return end local cost = costPerLevel * (equipment.level + 1) -- 升级一级所需材料数量 if cost > totalCost then print("进阶材料不足,无法升级") return end equipment.level = equipment.level + 1 -- 升级 totalCost = totalCost - cost -- 消耗进阶材料 print("装备成功升级到等级 " .. equipment.level) end -- 测试代码 local sword = {name = "龙泉剑", level = 1} -- 创建一个名为“龙泉剑”的装备,初始等级为 1 print(sword.name .. " 的初始等级为 " .. sword.level) -- 模拟升级过程,假设有 50 个进阶材料 totalCost = 50 upgradeEquipment(sword) -- 升级后等级为 2 upgradeEquipment(sword) -- 升级后等级为 3 -- 再次尝试升级,此时进阶材料不足 upgradeEquipment(sword) ``` 以上代码中,我们定义了一个 `upgradeEquipment` 函数,用于将装备升级一级。升级时需要检查装备是否已经达到最高等级,以及进阶材料是否充足。在测试代码中,我们创建了一个名为“龙泉剑”的装备,并模拟了升级过程。最后一次升级因为进阶材料不足而失败。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

skj1995

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值