diff options
| -rw-r--r-- | uis/interactive.go | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/uis/interactive.go b/uis/interactive.go index 1bbcc7f..f742d9a 100644 --- a/uis/interactive.go +++ b/uis/interactive.go @@ -48,26 +48,32 @@ func (ui *Interactive) Round(r int) error { } func (ui *Interactive) BroadcastWinner() { - w := []intPlayer{} - s := 0 + fmt.Println("Fin!") + winners := []intPlayer{} + max := 0 - for _, p := range ui.players { - t := p.score.Score() - if t > s || len(w) == 0 { - s = t - w = []intPlayer{p} - } else if t == s { - w = append(w, p) + for _, player := range ui.players { + 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) + } + max = t + winners = []intPlayer{player} + } else if t == max { + winners = append(winners, player) + } else { + fmt.Printf("\t%v scored %v points\n", player.name, t) } } - if len(w) == 1 { + if len(winners) == 1 { fmt.Println("The Winner is:") } else { fmt.Println("The Winners are:") } - for _, p := range w { - fmt.Println(p.name, "with", p.score.Score(), "points") + for _, winner := range winners { + fmt.Printf("\t%v with %v points\n", winner.name, max) } } @@ -93,7 +99,10 @@ func turn(p *intPlayer) { } switch cmd.Cmd { case "h": - print(CmdHelp(cmd.Argv[0])) + fmt.Println() + for _, helpLine := range CmdHelp(cmd.Argv[0]) { + fmt.Println(helpLine) + } case "p": fmt.Println(p.score) case "d": |
