aboutsummaryrefslogtreecommitdiff
path: root/uis/interactive.go
diff options
context:
space:
mode:
Diffstat (limited to 'uis/interactive.go')
-rw-r--r--uis/interactive.go31
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)
}
}