diff --git a/main.lua b/main.lua index c0a2c4c..69140ad 100644 --- a/main.lua +++ b/main.lua @@ -9,43 +9,39 @@ function love.load() -- simulation variables CONST_G = 39.5 - TIME_SPEED = 0.05 CONST_S = 0.15 T = 0 + TIME_SPEED = 0.25 require "class" require "body" newBody(0,0,300,{1,0,0}) - newBody(0,0.1,100,{0,1,0}) - newBody(0.1,0,200,{0,0,1}) - newBody(0.1,0.1,50,{1,1,0}) - newBody(0.1,0.2,250,{1,0,1}) - newBody(0.2,0.1,150,{0,1,1}) + newBody(0,100,100,{0,1,0}) + newBody(100,0,200,{0,0,1}) + newBody(100,100,50,{1,1,0}) + newBody(100,200,250,{1,0,1}) + newBody(200,100,150,{0,1,1}) end function love.update(dt) - - T = T + dt - while T > TIME_SPEED do - UpdateBodiesAcceleration() - UpdateBodiesVelocity(dt) - UpdateBodiesPosition(dt) - T = T - TIME_SPEED - end + T = T + dt * TIME_SPEED + UpdateBodiesAcceleration() + UpdateBodiesVelocity(dt * TIME_SPEED) + UpdateBodiesPosition(dt * TIME_SPEED) end function love.draw() -- draw bodies for n, body in pairs(BodyList) do love.graphics.setColor(body.color[1],body.color[2],body.color[3]) - love.graphics.circle("line",body.x+SCREEN_WIDTH/2,body.y+SCREEN_HEIGHT/2,10) + love.graphics.circle("line",body.x+SCREEN_WIDTH/2,body.y+SCREEN_HEIGHT/2,math.sqrt(body.mass)) end -- draw info love.graphics.setColor(1,1,1) - love.graphics.print(T.."/"..TIME_SPEED) + love.graphics.print(T) for n, body in pairs(BodyList) do love.graphics.print("mass: "..body.mass.." x,y: "..body.x..", "..body.y,0,15*(n)) end