| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package slotpanda
- import (
- "bet24.com/log"
- )
- type Slot struct {
- SlotID int // 编号
- Name string // 描述
- IsMagic int // 万能牌
- IsBonus int // 是否bonus
- IsScatter int // 是否scatter
- }
- func (s *Slot) isMagic() bool {
- return s.IsMagic > 0
- }
- func (s *Slot) isBonus() bool {
- return s.IsBonus > 0
- }
- func (s *Slot) isScatter() bool {
- return s.IsScatter > 0
- }
- type slotmanager struct {
- Slots []Slot
- }
- func newSlotManager(slots []Slot) *slotmanager {
- ret := new(slotmanager)
- ret.Slots = slots
- return ret
- }
- func (sm *slotmanager) getBonusSlotId() int {
- for _, v := range sm.Slots {
- if v.isBonus() {
- return v.SlotID
- }
- }
- return 0
- }
- func (sm *slotmanager) getWildSlotId() int {
- for _, v := range sm.Slots {
- if v.isMagic() {
- return v.SlotID
- }
- }
- return 0
- }
- func (sm *slotmanager) getScatterSlotId() int {
- for _, v := range sm.Slots {
- if v.isScatter() {
- return v.SlotID
- }
- }
- return 0
- }
- func (sm *slotmanager) getSlot(slotID int) Slot {
- for _, v := range sm.Slots {
- if slotID == v.SlotID {
- return v
- }
- }
- log.Release("slotpanda.slotmanager.getSlot failed %d", slotID)
- var slot Slot
- return slot
- }
|