extract commandRacer

This commit is contained in:
Luke Meyers 2020-02-09 08:49:01 -08:00
parent 5cbf0dde33
commit 2ae8384379
1 changed files with 16 additions and 9 deletions

View File

@ -56,22 +56,33 @@ func CommandLoop(w *pixelgl.Window, s State, stateCA chan<- State) {
} }
func doCommand(cmd Command, s State, teamID int) State { func doCommand(cmd Command, s State, teamID int) State {
da := 1
r := ActiveRacer(s.Teams[teamID]) r := ActiveRacer(s.Teams[teamID])
if r == nil { if r == nil {
return s return s
} }
var rr Racer
s, rr = commandRacer(s, cmd, *r)
s = updateRacer(s, rr)
s = moveRacer(s, rr)
s = maybePassBaton(s, teamID)
return s
}
func commandRacer(s State, cmd Command, r Racer) (State, Racer) {
da := 1
r.Kinetics.A = 0 r.Kinetics.A = 0
switch cmd { switch cmd {
case coast: case coast:
case speedUp: case speedUp:
r.Kinetics.A = da r.Kinetics.A = da
*r = accelerate(*r) r = accelerate(r)
case slowDown: case slowDown:
r.Kinetics.A = -da r.Kinetics.A = -da
*r = accelerate(*r) r = accelerate(r)
case left: case left:
r.Position.Lane++ r.Position.Lane++
case right: case right:
@ -83,11 +94,7 @@ func doCommand(cmd Command, s State, teamID int) State {
r.Kinetics.V = 0 r.Kinetics.V = 0
} }
s = updateRacer(s, *r) return s, r
s = moveRacer(s, *r)
s = maybePassBaton(s, teamID)
return s
} }
func (c Command) String() string { func (c Command) String() string {