--[[ Move a circle around using keyboard input with ability to change color and speed. Mithat Konar --]] function love.load() -- circle's constants CIRCLE_SIZE = 30 DEFAULT_SPEED = 100 circle_speed = DEFAULT_SPEED -- circle's variables -- put circle in the center of the screen circleX = love.graphics.getWidth() / 2 circleY = love.graphics.getHeight() / 2 -- motion variables isMoveRight = false isMoveLeft = false isMoveDown = false isMoveUp = false end function love.keypressed(key) -- change color when key is pressed. if key == 'c' then local randomColor = {math.random(), math.random(), math.random()} love.graphics.setColor(randomColor) end -- change speed when 'j', 'k', and 'l' keys are pressed. if key == 'j' then circle_speed = circle_speed / 2 end if key == 'k' then circle_speed = DEFAULT_SPEED end if key == 'l' then circle_speed = circle_speed * 2 end end function love.keyreleased(key) -- Change color when key is released if key == 'c' then local randomColor = {math.random(), math.random(), math.random()} love.graphics.setColor(randomColor) end end function love.update(dt) -- detect whether keys are pressed and move accordingly. -- test for both arrow and WASD keys if love.keyboard.isDown('right') or love.keyboard.isDown('d') then circleX = circleX + circle_speed * dt end if love.keyboard.isDown('left') or love.keyboard.isDown('a') then circleX = circleX - circle_speed * dt end if love.keyboard.isDown('up') or love.keyboard.isDown('w') then circleY = circleY - circle_speed * dt end if love.keyboard.isDown('down') or love.keyboard.isDown('s') then circleY = circleY + circle_speed * dt end end function love.draw() love.graphics.print(circleX .. ', ' .. circleY, 5, 5) love.graphics.print('Circle speed: ' .. circle_speed, 5, 25) love.graphics.circle('fill', circleX, circleY, CIRCLE_SIZE) end