diff --git a/autobrake_test.p8 b/autobrake_test.p8 index 9416dae..b440ba4 100644 --- a/autobrake_test.p8 +++ b/autobrake_test.p8 @@ -130,7 +130,7 @@ function ship:draw() if (self.dx == 0) return local bd, f = brake_dist(self.dx, self.thrust + self.drag) local bdx = self.x+bd-2 - spr(3, bdx,self.y-3) + spr(3, bdx,self.y-2) print(tostr(f), bdx, self.y - 8, 14) end @@ -177,11 +177,11 @@ function constraints:constrain(s, want) end function brake_dist(v0, brake_max) - local tri_frames = abs(v0/brake_max)&-1 + local tri_frames = v0\brake_max local chunks = tri_frames * (tri_frames - 1) >> 1 local chunk_zone = chunks * brake_max local overage = v0 - tri_frames * brake_max - return (chunk_zone + overage * (tri_frames + 1)) * -sgn(v0), (overage > 0) and tri_frames + 1 or tri_frames + return (chunk_zone + overage * (tri_frames + 1)) * sgn(v0), (overage > 0) and tri_frames + 1 or tri_frames end function constraints:cycle()