diff options
Diffstat (limited to 'uis/interactive.go')
| -rw-r--r-- | uis/interactive.go | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/uis/interactive.go b/uis/interactive.go index e493878..8210122 100644 --- a/uis/interactive.go +++ b/uis/interactive.go @@ -11,13 +11,8 @@ import ( . "muhq.space/go/muhq/goffel/logic" ) -type intPlayer struct { - name string - score Score -} - type Interactive struct { - players []intPlayer + players []Player } var dices Dice @@ -41,7 +36,7 @@ func (i *Interactive) init() { if err != nil { break } - i.players = append(i.players, intPlayer{name, NewScore()}) + i.players = append(i.players, Player{name, NewScore()}) count++ } @@ -53,10 +48,10 @@ func (ui *Interactive) round(r int) { } } -func turn(p *intPlayer) { +func turn(p *Player) { dices.Roll(nil) - fmt.Printf("%s's turn:\n", p.name) + fmt.Printf("%s's turn:\n", p.Name) fmt.Println(dices) var cmd Cmd @@ -80,13 +75,13 @@ func turn(p *intPlayer) { fmt.Println(helpLine) } case "p": - fmt.Println(p.score) + fmt.Println(p.Score) case "d": fmt.Println(dices) case "q": os.Exit(0) case "i": - points, err := p.score.Insert(dices, cmd.Argv[0]) + points, err := p.Score.Insert(dices, cmd.Argv[0]) if err != nil { fmt.Println("Insert failed:", err) continue @@ -94,7 +89,7 @@ func turn(p *intPlayer) { fmt.Printf("You inserted %d into %v.\n", points, ScoreNames[cmd.Argv[0]]) return case "c": - err = p.score.Cancel(cmd.Argv[0]) + err = p.Score.Cancel(cmd.Argv[0]) if err != nil { fmt.Println(err) continue @@ -120,21 +115,21 @@ func turn(p *intPlayer) { func (ui *Interactive) broadcastWinner() { fmt.Println("Fin!") - winners := []intPlayer{} + winners := []Player{} max := 0 for _, player := range ui.players { - t := player.score.Score() + t := player.Score.Score() if t > max || len(winners) == 0 { for _, winner := range winners { - fmt.Printf("\t%v scored %v points\n", winner.name, max) + fmt.Printf("\t%v scored %v points\n", winner.Name, max) } max = t - winners = []intPlayer{player} + winners = []Player{player} } else if t == max { winners = append(winners, player) } else { - fmt.Printf("\t%v scored %v points\n", player.name, t) + fmt.Printf("\t%v scored %v points\n", player.Name, t) } } @@ -144,6 +139,6 @@ func (ui *Interactive) broadcastWinner() { fmt.Println("The Winners are:") } for _, winner := range winners { - fmt.Printf("\t%v with %v points\n", winner.name, max) + fmt.Printf("\t%v with %v points\n", winner.Name, max) } } |
