Book Image

L÷VE for Lua Game Programming

By : AKINLAJA DAMILARE JOSHUA
1 (1)
Book Image

L÷VE for Lua Game Programming

1 (1)
By: AKINLAJA DAMILARE JOSHUA

Overview of this book

L?ñVE is a game development framework for making 2D games using the Lua programming language. L?ñVE is totally free, and can be used in anything from friendly open-source hobby projects, to closed-source commercial ones. Using the Lua programming framework, one can use L?ñVE2D to make any sort of interesting games. L?ñVE for Lua Game Programming will quickly and efficiently guide you through how to develop a video game from idea to prototype. Even if you are new to game programming, with this book, you will soon be able to create as many game titles as you wish without stress. The L?ñVE framework is the quickest and easiest way to build fully-functional 2D video games. It leverages the Lua programming language, which is known to be one of the easiest game development languages to learn and use. With this book, you will master how to develop multi-platform games for Windows, Linux, and Mac OS X. After downloading and installing L?ñVE, you will learn by example how to draw 2D objects, animate characters using sprites, and how to create game physics and game world maps. L?ñVE for Lua Game Programming makes it easier and quicker for you to learn everything you need to know about game programming. If you're interested in game programming, then this book is exactly what you've been looking for.
Table of Contents (15 chapters)

Score HUD


Whenever a player hits a coin, kills a player, or picks a diamond, we would need to increase their score by 50, 100, and 150 respectively.

local score = 100
---when player picks coin
function CoinPick(v)
  v.picked = true
  CoinPicked = true

  score = score + 50

end
---when player picks coin
function DiamondPick(v)
  v.picked = true
  DiamondPicked = true

  score = score + 150

end
---when player kills enemy score 100, else remove 100
function collideEnemyWithPlatform(dx,dy,v,obj)
  if obj == player then 
    if (player.t + player.h < v.t + 2) then
      EnemyDie(v)
      Score = score + 100
    else
      Die()
      Score = score - 100 
    end
  end


end
We can now update the love.draw function to print the Life and Score on the screen:

function love.draw()

  if gamestate == "playing" then

    love.graphics.print("Life:"..life, 32, 32)
    love.graphics.print("Score:"..score, 320, 32)

    love.graphics.setFont(medium)

    map:draw()

    DrawPlayer()

    DrawEnemy...