package game import ( "slices" "git.sunturtle.xyz/studio/shotgun/player" ) type Player struct { ID player.ID HP int8 Items [8]Item Cuffs CuffState } func (p *Player) StartRound(hp int8) { p.HP = hp clear(p.Items[:]) } func (p *Player) StartGroup(rng *RNG, items int) { for i := 0; i < items; i++ { k := slices.Index(p.Items[:], ItemNone) if k < 0 { break } p.Items[k] = NewItem(rng) } p.Cuffs = Uncuffed // TODO(zeph): or is this startround? } type CuffState uint8 const ( Uncuffed CuffState = iota Cuffed CuffedSkip ) func (c CuffState) NextState() CuffState { var m = [...]CuffState{Uncuffed, Uncuffed, Cuffed} return m[c] }