Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.58 KB | None | 0 0
  1. -- Cette ligne permet d'afficher des traces dans la console pendant l'éxécution
  2. io.stdout:setvbuf('no')
  3.  
  4. -- Empèche Love de filtrer les contours des images quand elles sont redimentionnées
  5. -- Indispensable pour du pixel art
  6. love.graphics.setDefaultFilter("nearest")
  7.  
  8. -- Cette ligne permet de déboguer pas à pas dans ZeroBraneStudio
  9. if arg[#arg] == "-debug" then require("mobdebug").start() end
  10.  
  11. --Dimensions des tuiles
  12.  
  13. TILE_WIDTH = 32
  14. TILE_HEIGHT = 32
  15.  
  16.  
  17. --Tiles de la map
  18. local imgTiles = {}
  19. imgTiles["1"] = love.graphics.newImage ("pictures/p.png")
  20. imgTiles["2"] = love.graphics.newImage ("pictures/tile2.png")
  21. imgTiles["3"] = love.graphics.newImage ("pictures/tile3.png")
  22. imgTiles["4"] = love.graphics.newImage ("pictures/tile4.png")
  23. imgTiles["5"] = love.graphics.newImage ("pictures/tile5.png")
  24. imgTiles["="] = love.graphics.newImage ("pictures/tile=.png")
  25. imgTiles["["] = love.graphics.newImage ("pictures/tile[.png")
  26. imgTiles["]"] = love.graphics.newImage ("pictures/tile].png")
  27. imgTiles["g"] = love.graphics.newImage ("pictures/tileg.png")
  28. imgTiles["H"] = love.graphics.newImage ("pictures/tileH.png")
  29.  
  30. local map = {}
  31. --valeurs de chaque niveau
  32. map[1]  = "1111111111111111111111111"
  33. map[2]  = "1000000000000000000000001"
  34. map[3]  = "1000111111111111111100001"
  35. map[4]  = "1000000000000000000010011"
  36. map[5]  = "1000000000000000000000001"
  37. map[6]  = "1000000000000000000000111"
  38. map[7]  = "1000000000000000000000001"
  39. map[8]  = "1000000000000000011111111"
  40. map[9]  = "1000000000000100000000001"
  41. map[10] = "1000000000000001000000001"
  42. map[11] = "1000000000111100000000001"
  43. map[12] = "1000000000000000000000001"
  44. map[13] = "1111111000000000000000001"
  45. map[14] = "1000000010000000000000001"
  46. map[15] = "1100000000111100000000001"
  47. map[16] = "1000000001000010000000001"
  48. map[17] = "1000000010000001000000001"
  49. map[18] = "1111111111111111111111111"
  50.  
  51. function ChargeNiveau (pNum)
  52.   local map = {}
  53.  
  54.   -- On charge nos niveau
  55.   if pNum == 1 then
  56.    
  57.     map[1]  = "1111111111111111111111111"
  58.     map[2]  = "1000000000000000000000001"
  59.     map[3]  = "1000111111111111111100001"
  60.     map[4]  = "1000000000000000000010011"
  61.     map[5]  = "1000000000000000000000001"
  62.     map[6]  = "1000000000000000000000111"
  63.     map[7]  = "1000000000000000000000001"
  64.     map[8]  = "1000000000000000011111111"
  65.     map[9]  = "1000000000000100000000001"
  66.     map[10] = "1000000000000001000000001"
  67.     map[11] = "1000000000111100000000001"
  68.     map[12] = "1000000000000000000000001"
  69.     map[13] = "1111111000000000000000001"
  70.     map[14] = "1000000010000000000000001"
  71.     map[15] = "1100000000111100000000001"
  72.     map[16] = "1000000001000010000000001"
  73.     map[17] = "1000000010000001000000001"
  74.     map[18] = "1111111111111111111111111"
  75.    
  76.   elseif pNum == 2 then
  77.    
  78.     map[1]  = "1111111111111111111111111"
  79.     map[2]  = "1000000000000000000000001"
  80.     map[3]  = "1000000000000000000000001"
  81.     map[4]  = "1000000000000000000000001"
  82.     map[5]  = "1000000000000000000000001"
  83.     map[6]  = "1000000000000000000000001"
  84.     map[7]  = "1000000000000000000000001"
  85.     map[8]  = "1000000000000000000000001"
  86.     map[9]  = "1000000000000000000000001"
  87.     map[10] = "1000000000000000000000001"
  88.     map[11] = "1000000000000000000000001"
  89.     map[12] = "1000000000000000000000001"
  90.     map[13] = "1000000000000000000000001"
  91.     map[14] = "1000000000000000000000001"
  92.     map[15] = "1000000000000000000000001"
  93.     map[16] = "1000000000000000000000001"
  94.     map[17] = "1000000000000000000000001"
  95.     map[18] = "1111111111111111111111111"
  96.   end
  97. end
  98.  
  99. function InitGame(pNiveau)
  100.   lstSprites = {}
  101.   ChargeNiveau (2)
  102.   end
  103.  
  104. function getTileAt(pX, pY)
  105.   local col = math.floor(pX / TILE_WIDTH) + 1
  106.   local lig = math.floor(pY / TILE_HEIGHT) + 1
  107.   if col>0 and col<=#map[1] and lig>0 and lig<=#map then
  108.     local id = string.sub(map[lig],col,col)
  109.     return id
  110.   end
  111.   return 0
  112. end
  113.  
  114.  
  115. function love.load()
  116.   love.window.setTitle("Mini platformer de BladeRED 2019")
  117.  
  118.   Width = love.graphics.getWidth()
  119.   Height = love.graphics.getHeight()
  120.   print ("Chargement du niveau")
  121.   InitGame (2)
  122.   print ("Chargement terminé")
  123. end
  124.  
  125. function love.update(dt)
  126.  
  127. end
  128.  
  129. function love.draw()
  130.   -- On parcourt la map pour la dessiner
  131.   local l,c
  132.  
  133.   for l = 1, #map do
  134.     for c = 1, #map[1] do
  135.       local char = string.sub (map[l], c,c)
  136.       if char ~= "0" then
  137.         love.graphics.draw( imgTiles[char], (c-1)*TILE_WIDTH,(l-1)*TILE_HEIGHT )
  138.     end
  139.   end  
  140.  end
  141.  
  142.  local id = getTileAt(love.mouse.getX(), love.mouse.getY())
  143. love.graphics.print(id)
  144.  
  145. end
  146.  
  147. function love.keypressed(key)
  148.  
  149.   print(key)
  150.  
  151. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement