From 28e2f065f638efcffd4e541234ebc070b5f51956 Mon Sep 17 00:00:00 2001 From: André Fabian Silva Delgado Date: Thu, 15 Dec 2016 18:46:11 -0300 Subject: Keep the code KISS 4 --- src/gnu_and_bola_brawlers/main.lua | 109 ++------------------------- src/gnu_and_bola_brawlers/update/default.lua | 106 ++++++++++++++++++++++++++ 2 files changed, 112 insertions(+), 103 deletions(-) create mode 100644 src/gnu_and_bola_brawlers/update/default.lua (limited to 'src/gnu_and_bola_brawlers') diff --git a/src/gnu_and_bola_brawlers/main.lua b/src/gnu_and_bola_brawlers/main.lua index ee23e64..d6278c4 100644 --- a/src/gnu_and_bola_brawlers/main.lua +++ b/src/gnu_and_bola_brawlers/main.lua @@ -14,109 +14,12 @@ function love.keyreleased(key, scancode) end function love.update(dt) - nextTime = nextTime + (1 / fps) - - animation = function(metaSprite, images, dt) - --Increase actual elapsed time with new dt - metaSprite.elapsedTime = metaSprite.elapsedTime + dt --AnimationStart - - --In order to know if it is necessary to change the frame - if metaSprite.elapsedTime >= (1 / metaSprite.fps) then - metaSprite.elapsedTime = metaSprite.elapsedTime - (1 / metaSprite.fps) - if metaSprite.currentFrame == # metaSprite then --If current frame is equal to long metaSprite list - metaSprite.currentFrame = 1 -- Return to first frame - else - metaSprite.currentFrame = metaSprite.currentFrame + 1 --Next frame - end - end - - images.quad = metaSprite[metaSprite.currentFrame] --Update with new fame - end - animation(metaSprite.bola, images.bola, dt) - - motion = function(character, images, metaSprite, dt) - if character.jump.higher > 0 and character.actionA == true then - if character.jump.limitButtonJump == false then - character.jump.higher = character.jump.higher - dt - character.jump.velocity = character.jump.velocity + character.jump.height * (dt / character.jump.higherMax) - end - end - - if character.actionLeft == true and character.actionRight == false then - metaSprite = require 'meta_sprites/bola/walk' - character.position.x = character.position.x - (character.velocity * dt) - character.scale.x = -1 - end - - if character.actionRight == true and character.actionLeft == false then - metaSprite = require 'meta_sprites/bola/walk' - character.position.x = character.position.x + (character.velocity * dt) - character.scale.x = 1 - end - - if character.actionUp == true and character.actionDown == false then - metaSprite = require 'meta_sprites/bola/walk' - character.position.y = character.position.y - (character.velocity * dt) - character.jump.ground = character.position.y - end - - if character.actionDown == true and character.actionUp == false then - metaSprite = require 'meta_sprites/bola/walk' - character.position.y = character.position.y + (character.velocity * dt) - character.jump.ground = character.position.y - end - - if character.actionUp == true and character.actionDown == true then - metaSprite = require 'meta_sprites/bola/stand' - elseif character.actionLeft == true and character.actionRight == true then - metaSprite = require 'meta_sprites/bola/stand' - elseif character.actionLeft == false and character.actionRight == false and character.actionUp == false and character.actionDown == false then - metaSprite = require 'meta_sprites/bola/stand' - end - - return metaSprite - end - metaSprite.bola = motion(character.bola, images.bola, metaSprite.bola, dt) - - gravity = function(character, dt) - if character.jump.velocity ~= 0 then - character.jump.isJumping = true - character.position.y = character.position.y + (character.jump.velocity * dt) - character.jump.velocity = character.jump.velocity - (character.gravity * dt) - end - - if character.position.y > character.jump.ground then - character.jump.velocity = 0 - character.position.y = character.jump.ground - character.jump.higher = character.jump.higherMax - - character.jump.limitButtonJump = false - character.jump.isJumping = false - character.actionA = false - - if love.keyboard.isScancodeDown(controller.player1.up) then - character.actionUp = true - elseif love.keyboard.isScancodeDown(controller.player1.down) then - character.actionDown = true - end - end - end - gravity(character.bola, dt) - - limit = function(character, dt) - if character.position.x <= character.origin.x then - character.position.x = character.origin.x - elseif character.position.x >= windowProfile.mode.width - character.origin.x then - character.position.x = windowProfile.mode.width - character.origin.x - end - - if character.position.y <= character.origin.y then - character.position.y = character.origin.y - elseif character.position.y >= windowProfile.mode.height - character.origin.y then - character.position.y = windowProfile.mode.height - character.origin.y - end - end - limit(character.bola, dt) + local update = require 'update/default' + update.time(dt) + update.animation(metaSprite.bola, images.bola, dt) + metaSprite.bola = update.motion(character.bola, images.bola, metaSprite.bola, dt) + update.gravity(character.bola, dt) + update.limit(character.bola, dt) end function love.draw() diff --git a/src/gnu_and_bola_brawlers/update/default.lua b/src/gnu_and_bola_brawlers/update/default.lua new file mode 100644 index 0000000..f6fb68e --- /dev/null +++ b/src/gnu_and_bola_brawlers/update/default.lua @@ -0,0 +1,106 @@ +local update = {} + +update.time = function(dt) + nextTime = nextTime + (1 / fps) +end + + +update.animation = function(metaSprite, images, dt) + --Increase actual elapsed time with new dt + metaSprite.elapsedTime = metaSprite.elapsedTime + dt --AnimationStart + + --In order to know if it is necessary to change the frame + if metaSprite.elapsedTime >= (1 / metaSprite.fps) then + metaSprite.elapsedTime = metaSprite.elapsedTime - (1 / metaSprite.fps) + if metaSprite.currentFrame == # metaSprite then --If current frame is equal to long metaSprite list + metaSprite.currentFrame = 1 -- Return to first frame + else + metaSprite.currentFrame = metaSprite.currentFrame + 1 --Next frame + end + end + + images.quad = metaSprite[metaSprite.currentFrame] --Update with new fame +end + +update.motion = function(character, images, metaSprite, dt) + if character.jump.higher > 0 and character.actionA == true then + if character.jump.limitButtonJump == false then + character.jump.higher = character.jump.higher - dt + character.jump.velocity = character.jump.velocity + character.jump.height * (dt / character.jump.higherMax) + end + end + + if character.actionLeft == true and character.actionRight == false then + metaSprite = require 'meta_sprites/bola/walk' + character.position.x = character.position.x - (character.velocity * dt) + character.scale.x = -1 + end + + if character.actionRight == true and character.actionLeft == false then + metaSprite = require 'meta_sprites/bola/walk' + character.position.x = character.position.x + (character.velocity * dt) + character.scale.x = 1 + end + + if character.actionUp == true and character.actionDown == false then + metaSprite = require 'meta_sprites/bola/walk' + character.position.y = character.position.y - (character.velocity * dt) + character.jump.ground = character.position.y + end + + if character.actionDown == true and character.actionUp == false then + metaSprite = require 'meta_sprites/bola/walk' + character.position.y = character.position.y + (character.velocity * dt) + character.jump.ground = character.position.y + end + + if character.actionUp == true and character.actionDown == true then + metaSprite = require 'meta_sprites/bola/stand' + elseif character.actionLeft == true and character.actionRight == true then + metaSprite = require 'meta_sprites/bola/stand' + elseif character.actionLeft == false and character.actionRight == false and character.actionUp == false and character.actionDown == false then + metaSprite = require 'meta_sprites/bola/stand' + end + + return metaSprite +end + +update.gravity = function(character, dt) + if character.jump.velocity ~= 0 then + character.jump.isJumping = true + character.position.y = character.position.y + (character.jump.velocity * dt) + character.jump.velocity = character.jump.velocity - (character.gravity * dt) + end + + if character.position.y > character.jump.ground then + character.jump.velocity = 0 + character.position.y = character.jump.ground + character.jump.higher = character.jump.higherMax + + character.jump.limitButtonJump = false + character.jump.isJumping = false + character.actionA = false + + if love.keyboard.isScancodeDown(controller.player1.up) then + character.actionUp = true + elseif love.keyboard.isScancodeDown(controller.player1.down) then + character.actionDown = true + end + end +end + +update.limit = function(character, dt) + if character.position.x <= character.origin.x then + character.position.x = character.origin.x + elseif character.position.x >= windowProfile.mode.width - character.origin.x then + character.position.x = windowProfile.mode.width - character.origin.x + end + + if character.position.y <= character.origin.y then + character.position.y = character.origin.y + elseif character.position.y >= windowProfile.mode.height - character.origin.y then + character.position.y = windowProfile.mode.height - character.origin.y + end +end + +return update -- cgit v1.2.3-54-g00ecf