diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-12-14 11:36:15 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2016-12-14 11:38:39 -0300 |
commit | 49bc7c67d38ee6f474465423f85089c3d4d47de3 (patch) | |
tree | 77ba97c095c4ffd9a3c0da8d2ddd5b0ad0c18f0a /src/gnu_and_bola_brawlers | |
parent | 928b839749e44351c75f1a9df664174c9ea84f35 (diff) |
Renaming the game
Diffstat (limited to 'src/gnu_and_bola_brawlers')
-rw-r--r-- | src/gnu_and_bola_brawlers/jump.lua | 13 | ||||
-rw-r--r-- | src/gnu_and_bola_brawlers/main.lua | 279 | ||||
l--------- | src/gnu_and_bola_brawlers/multimedia | 1 | ||||
-rw-r--r-- | src/gnu_and_bola_brawlers/stand.lua | 72 | ||||
-rw-r--r-- | src/gnu_and_bola_brawlers/walk.lua | 13 |
5 files changed, 378 insertions, 0 deletions
diff --git a/src/gnu_and_bola_brawlers/jump.lua b/src/gnu_and_bola_brawlers/jump.lua new file mode 100644 index 0000000..4035b26 --- /dev/null +++ b/src/gnu_and_bola_brawlers/jump.lua @@ -0,0 +1,13 @@ +return { + love.graphics.newQuad(metaSprites.bola.x * 5, metaSprites.bola.y * 2, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + currentFrame = 1, + elapsedTime = 0, + fps = 9, + height = -250, + velocity = 0, + ground = windowProfile.mode.height / 2, + higher = 0.15, + higherMax = 0.15, + limitButtonJump = false, + isJumping = false, +} diff --git a/src/gnu_and_bola_brawlers/main.lua b/src/gnu_and_bola_brawlers/main.lua new file mode 100644 index 0000000..b9aed5e --- /dev/null +++ b/src/gnu_and_bola_brawlers/main.lua @@ -0,0 +1,279 @@ +function love.load() + fps = 30 + upTime = love.timer.getTime() + nextTime = upTime + + windowProfile = { + mode = { + width = 256, + height = 240, + }, + scale = { + x = 2, + y = 2, + }, + title = "GNU & Bola Brawlers", + } + + love.graphics.setBackgroundColor(0, 232, 216) + love.graphics.setDefaultFilter('nearest', 'nearest') + + love.window.setMode(windowProfile.mode.width * windowProfile.scale.x, windowProfile.mode.height * windowProfile.scale.y) + love.window.setTitle(windowProfile.title) + + button = { + left = 'a', + right = 'd', + up = 'w', + down = 's', + a = 'j', + b = 'k', + select = 'g', + start = 'h', + quit = 'escape', + } + + metaSprites = { + bola = { + image = love.graphics.newImage('multimedia/ppu_rp2c0x/meta_sprites/bola/default_sheet_color0_alpha.png'), + x = 24, + y = 32, + } + } + + character = { + bola = { + orientation = 0, + acceleration = 0, + velocity = 125, + gravity = -500, + position = { + x = windowProfile.mode.width / 2, + y = windowProfile.mode.height / 2, + }, + scale = { + x = 1, + y = 1, + }, + origin = { + x = metaSprites.bola.x / 2, + y = metaSprites.bola.y / 2, + }, + stand = require 'stand', + walk = require 'walk', + jump = require 'jump', + actionLeft = false, + actionRight = false, + actionUp = false, + actionDown = false, + actionA = false, + actionB = false, + }, + } + sprite = { + bola = require 'stand', + } +end + +function love.keypressed(key, scancode) + keypressed = function(character, metaSprites, sprite, key, scancode) + if scancode == button.quit then + love.event.quit() + end + + if scancode == button.a then + character.actionA = true + character.actionDown = false + character.actionUp = false + sprite = require 'jump' + end + + if scancode == button.left then + character.actionLeft = true + end + + if scancode == button.right then + character.actionRight = true + end + + if scancode == button.up and character.jump.isJumping == false then + character.actionUp = true + end + + if scancode == button.down and character.jump.isJumping == false then + character.actionDown = true + end + end + keypressed(character.bola, metaSprites.bola, sprite.bola, key, scancode) +end + +function love.keyreleased(key, scancode) + keyreleased = function(character, key, scancode) + if scancode == button.a then + character.actionA = false + end + + if scancode == button.left then + character.actionLeft = false + end + + if scancode == button.right then + character.actionRight = false + end + + if scancode == button.up then + character.actionUp = false + end + + if scancode == button.down then + character.actionDown = false + end + + if scancode == button.b then + character.actionB = false + end + + if scancode == button.a then + character.actionA = false + + if character.jump.velocity ~= 0 then + character.jump.limitButtonJump = true + end + end + end + keyreleased(character.bola, key, scancode) +end + +function love.update(dt) + nextTime = nextTime + (1 / fps) + + animation = function(sprite, metaSprites, dt) + --Increase actual elapsed time with new dt + sprite.elapsedTime = sprite.elapsedTime + dt --AnimationStart + + --In order to know if it is necessary to change the frame + if sprite.elapsedTime >= (1 / sprite.fps) then + sprite.elapsedTime = sprite.elapsedTime - (1 / sprite.fps) + if sprite.currentFrame == # sprite then --If current frame is equal to long sprite list + sprite.currentFrame = 1 -- Return to first frame + else + sprite.currentFrame = sprite.currentFrame + 1 --Next frame + end + end + + metaSprites.quad = sprite[sprite.currentFrame] --Update with new fame + end + animation(sprite.bola, metaSprites.bola, dt) + + motion = function(character, metaSprites, sprite, 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 + sprite = require 'walk' + character.position.x = character.position.x - (character.velocity * dt) + character.scale.x = -1 + end + + if character.actionRight == true and character.actionLeft == false then + sprite = require 'walk' + character.position.x = character.position.x + (character.velocity * dt) + character.scale.x = 1 + end + + if character.actionUp == true and character.actionDown == false then + sprite = require '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 + sprite = require '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 + sprite = require 'stand' + elseif character.actionLeft == true and character.actionRight == true then + sprite = require 'stand' + elseif character.actionLeft == false and character.actionRight == false and character.actionUp == false and character.actionDown == false then + sprite = require 'stand' + end + + return sprite + end + sprite.bola = motion(character.bola, metaSprites.bola, sprite.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(button.up) then + character.actionUp = true + elseif love.keyboard.isScancodeDown(button.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) +end + +function love.draw() + local currentTime = love.timer.getTime() + if nextTime <= currentTime then + nextTime = currentTime + return + end + love.timer.sleep(nextTime - currentTime) + + love.graphics.scale(windowProfile.scale.x, windowProfile.scale.y) + + love.graphics.print('FPS: ' .. love.timer.getFPS(), 0, 0) + + draw = function(metaSprites, character) + love.graphics.draw( + metaSprites.image, + metaSprites.quad, + character.position.x, + character.position.y, + character.orientation, + character.scale.x, + character.scale.y, + character.origin.x, + character.origin.y + ) + end + draw(metaSprites.bola, character.bola) +end diff --git a/src/gnu_and_bola_brawlers/multimedia b/src/gnu_and_bola_brawlers/multimedia new file mode 120000 index 0000000..e09ba50 --- /dev/null +++ b/src/gnu_and_bola_brawlers/multimedia @@ -0,0 +1 @@ +../../mlt/gnu_and_bola_-_the_libre_beat_em_up_game
\ No newline at end of file diff --git a/src/gnu_and_bola_brawlers/stand.lua b/src/gnu_and_bola_brawlers/stand.lua new file mode 100644 index 0000000..d71d935 --- /dev/null +++ b/src/gnu_and_bola_brawlers/stand.lua @@ -0,0 +1,72 @@ +return { + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 1, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 2, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 1, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 3, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 3, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 5, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 6, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 5, metaSprites.bola.y * 0, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + currentFrame = 1, + elapsedTime = 0, + fps = 9, +} diff --git a/src/gnu_and_bola_brawlers/walk.lua b/src/gnu_and_bola_brawlers/walk.lua new file mode 100644 index 0000000..0633457 --- /dev/null +++ b/src/gnu_and_bola_brawlers/walk.lua @@ -0,0 +1,13 @@ +return { + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 1, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 1, metaSprites.bola.y * 1, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 2, metaSprites.bola.y * 1, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 1, metaSprites.bola.y * 1, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 0, metaSprites.bola.y * 1, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 3, metaSprites.bola.y * 1, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 4, metaSprites.bola.y * 1, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + love.graphics.newQuad(metaSprites.bola.x * 3, metaSprites.bola.y * 1, metaSprites.bola.x, metaSprites.bola.y, metaSprites.bola.image:getDimensions()), + currentFrame = 1, + elapsedTime = 0, + fps = 9, +} |