package main import ( "math/rand" "time" ) type UI interface { Init() error Round(r int) error BroadcastWinner() } func play(ui UI) { err := ui.Init() if err != nil { panic(err) } for round := 1; round <= 13; round++ { err = ui.Round(round) if err != nil { panic(err) } } ui.BroadcastWinner() } func main() { rand.Seed(time.Now().Unix()) var ui UI play(&Interactive{}) }