如何用Excel做一个战斗模拟器(一)升级经验表
如何用Excel做一个战斗模拟器(二)属性表
如何用Excel做一个战斗模拟器(三)战斗过程模拟
定义掉落表与装备表
从五月一直到现在996赶项目,精疲力尽…终于有时间继续更新了,闲话不多说,让我们继续。
今天我们来给怪物做一个掉落,实现【击杀怪物后有几率掉落一件装备】这个功能。
首先,创建一张装备表,如下图,定义装备的ID(重要),装备名以及装备属性
然后创建一张掉落表,掉落表中的掉落装备关联装备表的装备ID
怪物本身掉落装备
因为我们的功能是【击杀怪物掉落装备】,所以我们要将上面的掉落ID关联在怪物身上,并在玩家击杀怪物的时候进行装备的掉落
首先是怪物表新加一列,用来关联怪物的掉落ID
然后再VBA中定义一个方法,根据怪物去查找该怪物的掉落ID,并最终查找掉落ID关联的装备掉落。而掉落的时候需要根据我们配置的概率进行判断,即实现【概率掉落】。概率我们使用万分比进行计算:10000=100%
'根据怪物找到掉落的装备ID
Function getdropitem(m As Integer)
'定义变量
Dim dropsheet As Worksheet, msheet As Worksheet, i As Long, rate As Long, itemid As Long, id As Long, mdrop As Long, dropid As Long
i = 2
'随机数种子
Randomize
Dim rnd1 As Double, rnd2 As Double
' 查找怪物属性表获取掉落ID
Set msheet = Worksheets("怪物属性表")
Do While msheet.Cells(i, 1) <> ""
If m = msheet.Cells(i, 1) Then
'根据怪物等级匹配其掉落ID
dropid = msheet.Cells(i, 7)
Exi