Advertisement
Jummit

Demo game for game engine

Mar 16th, 2018
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.44 KB | None | 0 0
  1. os.loadAPI("engine")
  2.  
  3. elements = {
  4.   player = engine.elements.sprite({
  5.     path = "player.nfp",
  6.     x = 10, y = 10,
  7.     moves = {
  8.       up =  {0, -1},
  9.       down= {0,  1},
  10.       left= {-1, 0},
  11.       right={1,  0}
  12.     },
  13.     update = function(self)
  14.       for key, move in pairs(self.moves) do
  15.         if engine.keyboard[key] then
  16.           self:moveTo(elements.tilemap, move[1], move[2])
  17.         end
  18.       end
  19.       elements.tilemap.lightSource.x = self.x
  20.       elements.tilemap.lightSource.y = self.y
  21.     end
  22.   }),
  23.   tilemap = engine.elements.tilemap({
  24.     dynamicLight = true,
  25.     lightSource = {x=3, y=3},
  26.     tileset = {
  27.       floor = {bc=colors.green,tc=colors.gray,char=" "},
  28.       grass = {bc=colors.green,tc=colors.lime,char="\""},
  29.       wall = {bc=colors.gray,tc=colors.lightGray,char=" ",solid=true}
  30.     },
  31.     generate = function(self)
  32.       elements.tilemap:setRectangle(1, 1, engine.width, engine.height, "floor")
  33.       for x = 1, #self do
  34.         for y = 1, #self[x] do
  35.           if math.random(1, 10) == 1 then
  36.             self:setTile(x, y, "grass")
  37.           end
  38.         end
  39.       end
  40.       for i = 1, 10 do
  41.         elements.tilemap:setRectangle(math.random(1, engine.width-4), math.random(1, engine.height-3), 3, 2, "wall")
  42.       end
  43.     end
  44.   })
  45. }
  46.  
  47. while not exit do
  48.   engine.update(elements, 0.06, function()
  49.     if engine.keyboard.q then exit = true end
  50.   end)
  51.   engine.draw(elements)
  52. end
  53. engine.quit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement