fiddle main conditional flow

This commit is contained in:
Luke Meyers 2020-02-08 21:27:50 -08:00
parent f06400d905
commit ea9f41e581
1 changed files with 18 additions and 16 deletions

34
main.go
View File

@ -48,28 +48,30 @@ func run() error {
go func() { cmdC <- game.PollCommands(s) }() go func() { cmdC <- game.PollCommands(s) }()
for !w.Closed() && !s.GameOver { for !w.Closed() && !s.GameOver {
switch { if rs.Animating {
case w.Pressed(pixelgl.KeyQ):
return nil
case rs.Animating:
rs = gfx.Render(rs, sOld, s, w, *sb) rs = gfx.Render(rs, sOld, s, w, *sb)
if !rs.Animating { if !rs.Animating {
sOld = s sOld = s
} }
case w.Pressed(pixelgl.KeySpace) || true: } else {
log.Printf("TURN %d", turn) switch {
rs.Animating = true case w.Pressed(pixelgl.KeyQ):
rs.Frame = 0 return nil
case w.Pressed(pixelgl.KeySpace) || true:
log.Printf("TURN %d", turn)
rs.Animating = true
rs.Frame = 0
cmds := <-cmdC cmds := <-cmdC
s = game.UpdateState(s, sOld, cmds) s = game.UpdateState(s, sOld, cmds)
turn++ turn++
if s.GameOver { if s.GameOver {
s = game.NewState() s = game.NewState()
sOld = s sOld = s
turn = 1 turn = 1
}
go func() { cmdC <- game.PollCommands(s) }()
} }
go func() { cmdC <- game.PollCommands(s) }()
} }
w.Update() w.Update()