func Run(g *game.Game) { g = game.NewGame() defer g.DumpLog() defer ui.Uninit() for s := InitialState; s != nil; { s, g = s(g) } }