From 661244fec4becd8417dcc096799a10e4abb4f2a8 Mon Sep 17 00:00:00 2001 From: Luke Meyers Date: Wed, 5 Feb 2020 18:17:40 -0800 Subject: [PATCH] use abs for handoff; fix no-self-handoff --- game.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/game.go b/game.go index cfd488c..fd9d2ac 100644 --- a/game.go +++ b/game.go @@ -69,11 +69,11 @@ func updateState(sOld state) state { func maybePassBaton(t *team) { for i, b := range t.bots { h := t.baton.holder - if h == &b { + if h == &t.bots[i] { continue } - if b.pos-h.pos == 10 { - log.Printf("pass from %v to %v!", t.baton.holder, &t.bots[i]) + if abs(b.pos-h.pos) <= 10 { + log.Printf("pass from %p to %p!", t.baton.holder, &t.bots[i]) t.baton.holder.v = 0 t.baton.holder.a = 0 t.baton.holder = &t.bots[i] @@ -101,3 +101,10 @@ const ( numBots = 10 numTeams = 4 ) + +func abs(n int) int { + if n < 0 { + return -n + } + return n +}