package frame_type // 一个轴的配置 type Axle struct { Nums []int `json:"nums"` // 轴上的数字 数字及代表对应的符号 } // 轴的索引停留权重 type WeightList struct { Nums []int `json:"nums"` // 轴上的数字 数字及代表对应的符号 } // 多个轴的配置 type AxleGroup struct { Axles []*Axle `json:"axles"` // 轴组 Weight []*WeightList `json:"weight"` // 轴大小权重 HitRate float64 `json:"hitRate"` // 命中率 Description string `json:"description"` // 描述 } // 更多轴的组合 一个游戏可以配置多个组合 type AxleConfig struct { SizeConfig [][]int `json:"sizeConfig"` // 默认轴大小配置 SizeWeight [][]int `json:"sizeWeight"` // 轴大小=>权重配置 WildMul [][]int `json:"wildMul"` // 百搭的倍数配置 WildMulWeight [][]float64 `json:"wildMulWeight"` // 百搭的倍数=>权重配置 FreeTime []int `json:"freeTime"` // 免费次数配置 SelectFg []int `json:"selectFg"` // 选择免费次数配置 SelectFgTimes []int `json:"selectFgTimes"` // 选择免费次数=>次数配置 Groups []*AxleGroup `json:"groups"` // 轴组 } // 一个符号元素 type AxleItem struct { Index int `json:"index"` // 索引 Value int `json:"value"` // 值 Size int `json:"size,omitempty"` // 元素大小 可能后续扩展会需要 先设置为? Wild int `json:"wild,omitempty"` // 百搭的倍数 } // 轴的结果 type AxleResultItem struct { Top int `json:"top"` // 顶部元素的索引 因为可能出现所有元素都被消除的情况 所以需要额外的维护当前顶部元素的索引 用于掉落 Size int `json:"size"` // 轴的大小 目前的设计下 当一个轴的大小随机好后 就不再改变 Items []*AxleItem `json:"items"` // 具体元素 }