游戏测试中的哪些坑-背包格子问题

简介: 游戏中背包是很常见的系统,游戏的系统会投放各种各样的物品给玩家,存放在玩家的背包之中。背包可能会分几个类型,然后每个类型都可以存储一定数量的对应物品。一旦背包容量满了之后就无法再获得物品,例如无法领取任务奖励,无法拾取道具,无法购买道具等限制

游戏测试中的哪些坑-背包格子问题


一、前言


   游戏中背包是很常见的系统,游戏的系统会投放各种各样的物品给玩家,存放在玩家的背包之中。背包可能会分几个类型,然后每个类型都可以存储一定数量的对应物品。一旦背包容量满了之后就无法再获得物品,例如无法领取任务奖励,无法拾取道具,无法购买道具等限制如图1。

声明:本文图片源自网络,如有问题请联系删除。


微信图片_20220424104615.jpg

图1


二、案例  


   今天介绍的坑就与这个背包格子有关系,假设有一个开箱子的功能,箱子打开会随机获得不同类型的道具、装备,而且里面获得某个稀有道具的概率设定是万分之一。但在某种情况下获得这个稀有道具的概率可能并没有万分之一那么高。


微信图片_20220424104610.png

图2


   仔细观察上面的时序图就会发现问题出在步骤4,步骤5上面。先进行了箱子道具随机,然后判断能否容纳随机的物品,背包不足时则不扣除箱子返回提示让玩家清理背包。如果我们把装备和其他栏的空格子全部塞满,那么一旦开箱子随机到这些无法添加的物品后就会返回且不扣除箱子。是不是发现问题所在了呢?


三、解决办法


   针对上面的问题的解决方案有很多,这里只介绍其中的两种解决方法。


       方式一:开出的物品是不确定的,可以在随机物品前先检查各个类型的物品的格子是否有空余,没有则不给开启(注意箱子开出的物品数量是不可知的情况下的处理)。


       方式二:就是依然不检查格子是否空余,如果添加物品失败就直接走临时背包或者发送邮件。



欢迎微信搜索"游戏测试开发"关注一起沟通交流。

相关文章
【动态规划刷题 5】 最小路径和&&地下城游戏
【动态规划刷题 5】 最小路径和&&地下城游戏
【动态规划刷题 6】 删除并获得点数&& 粉刷房子
【动态规划刷题 6】 删除并获得点数&& 粉刷房子
|
1月前
lanqiaoOJ 211 剪格子
lanqiaoOJ 211 剪格子
13 3
|
算法
【学会动态规划】地下城游戏(10)
【学会动态规划】地下城游戏(10)
60 0
用C++实现推箱子(小人和推着箱子能过地板版)
用C++实现推箱子(小人和推着箱子能过地板版)