宠物舞技排行榜
上一节
下一节
区块宠物舞技排行榜
对我们的区块宠物游戏来说,我们将要追踪我们的区块宠物输赢了多少场。有了这个我们可以在游戏里维护一个 "区块宠物舞技排行榜"。
有多种方法在我们的应用里面保存一个数值 — 作为一个单独的映射,作为一个“排行榜”结构体,或者保存在 Pet 结构体内。
每个方法都有其优缺点,取决于我们打算如何和这些数据打交道。简单起见我们将这个状态保存在 Pet 结构体中,将其命名为 winCount 和 lossCount。
我们跳回 petincubator.sol, 将这些属性添加进 Pet 结构体.
实战演习
1.修改 Pet 结构体,添加两个属性:
a. winCount(uint16)
b. lossCount(uint16)
注意: 记住, 因为我们能在结构体中包装uint, 我们打算用适合我们的最小的 uint。 一个 uint8 太小了, 因为 2^8 = 256 —— 如果我们的区块宠物每天都斗舞,不到一年就溢出了。但是 2^16 = 65536 (uint16)—— 除非一个区块宠物连续179年每天斗舞,否则我们就是安全的。
2.现在我们的 Pet 结构体有了新的属性, 我们需要修改 _createPet() 中的函数定义。修改区块宠物生成定义,让每个新区块宠物都有 0 赢和 0 输 (在参数 10 前面加两个参数 0 )。


