extract phys

This commit is contained in:
Donald Ball 2025-11-16 12:06:35 -05:00
parent b832731fa0
commit fddb06ed8b
2 changed files with 27 additions and 17 deletions

18
asteroids/phys.lua Normal file
View file

@ -0,0 +1,18 @@
local phys = {
tau = 2 * math.pi
}
-- returns true if the two actors intersect
function phys.intersects(actor1, actor2)
return (actor1.x - actor2.x) ^ 2 + (actor1.y - actor2.y) ^ 2 <= (actor1.radius + actor2.radius) ^ 2
end
-- updates the actor's location by applying the passage of time
-- TODO spin
function phys.update(actor, dt)
local dv = actor.speed * dt
actor.x = actor.x + math.cos(actor.angle) * dv
actor.y = actor.y + math.sin(actor.angle) * dv
end
return phys