function love.load() --options love.graphics.setColor(1,1,1) love.graphics.setDefaultFilter("nearest") -- good pixel SCREEN_WIDTH = love.graphics.getWidth() SCREEN_HEIGHT = love.graphics.getHeight() -- simulation variables CONST_G = 39.5 TIME_SPEED = 0.05 CONST_S = 0.15 T = 0 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}) end function love.update(dt) T = T + dt while T > TIME_SPEED do UpdateBodiesAcceleration() UpdateBodiesVelocity(dt) UpdateBodiesPosition(dt) T = T - TIME_SPEED end 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) end -- draw info love.graphics.setColor(1,1,1) love.graphics.print(T.."/"..TIME_SPEED) for n, body in pairs(BodyList) do love.graphics.print("mass: "..body.mass.." x,y: "..body.x..", "..body.y,0,15*(n)) end end