main.lua 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. -- zzzzzzzzzzzzzzzzzzzzzzzz
  2. -- zzzzzzzzzzzzzzzzzzzzzzzz
  3. Dtotal = 0
  4. DtotalFloor = 0
  5. DebugMessage1 = "none"
  6. DebugMessage2 = "none"
  7. print("Haloa!")
  8. -- ==================================================================================
  9. -- ==================================================================================
  10. function love.load()
  11. Lume = require("lume")
  12. loadGame()
  13. require("ui")
  14. require("data")
  15. end
  16. -- ==================================================================================
  17. -- ==================================================================================
  18. function love.update(dt)
  19. Dtotal = Dtotal + dt
  20. if math.floor(Dtotal) > DtotalFloor then
  21. local diff = math.floor(Dtotal) - DtotalFloor
  22. DtotalFloor = DtotalFloor + diff
  23. updateStocks(diff)
  24. end
  25. for i=1, #crafter do
  26. local crft = crafter[i]
  27. local difpos = difpos(crft.ui.y + crft.ui.y, crft.ui.y)
  28. local cursec = crft.readyTime - crft.ready
  29. local curpos = progressbar(cursec, dt, maxsec, difpos)
  30. end
  31. end
  32. -- ==================================================================================
  33. -- ==================================================================================
  34. function love.draw()
  35. love.graphics.setColor(colorWhite)
  36. love.graphics.print("Hello World! Since "..DtotalFloor.."sec", 400, 300)
  37. love.graphics.print(math.floor(Stones).." Stones", 400, 340)
  38. -- DRAW CRAFTERS
  39. -- ===========================
  40. for i=1, #crafter do
  41. local crft = crafter[i]
  42. if crft.active then
  43. love.graphics.setColor(colorOrange)
  44. love.graphics.rectangle(
  45. "fill", crft.ui.x, crft.ui.y, crft.ui.w, crft.ui.h, 5, 5)
  46. love.graphics.setColor(colorWhite)
  47. love.graphics.print(crft.amount .. crft.title, crft.ui.x+5, crft.ui.y+5, 0, 1, 1)
  48. else if crft.own then
  49. love.graphics.setColor(colorBlue)
  50. love.graphics.rectangle(
  51. "fill", crft.ui.x, crft.ui.y, crft.ui.w, crft.ui.h, 5, 5)
  52. love.graphics.setColor(colorOrange)
  53. love.graphics.rectangle(
  54. "fill", crft.ui.x, crft.ui.y, crft.ui.w, crft.ui.y, 5, 5)
  55. else
  56. love.graphics.setColor(colorGrey)
  57. love.graphics.rectangle("line", crft.ui.x, crft.ui.y, crft.ui.w, crft.ui.h, 5, 5)
  58. end
  59. end
  60. -- DRAW DEBUG
  61. -- ===========================
  62. love.graphics.setColor(colorWhite)
  63. love.graphics.print(DebugMessage1, 400, 260)
  64. love.graphics.print(DebugMessage2, 400, 280)
  65. end
  66. -- ==================================================================================
  67. -- ==================================================================================
  68. function checkRect(rect)
  69. local x, y = love.mouse.getPosition()
  70. local r_left = rect.x
  71. local r_right = rect.x + rect.w
  72. local r_top = rect.y
  73. local r_bottom = rect.y + rect.h
  74. return x > r_left
  75. and x < r_right
  76. and y > r_top
  77. and y < r_bottom
  78. end
  79. function love.mousereleased(x, y, button)
  80. if button == 1 then
  81. for i=1, #crafter do
  82. if checkRect(crafter[i].ui) then
  83. upgradeCrafter(crafter[i])
  84. end
  85. end
  86. end
  87. end
  88. function difpos(min, max)
  89. return max - min
  90. end
  91. function progressbar(cursec, dt, maxsec, difpos)
  92. local cursec = 0 -- de 100 à 150 en 10 sec
  93. local maxsec = 10
  94. local minpos = 100
  95. local maxpos = 150
  96. local difpos = maxpos - minpos
  97. local curpos = 0
  98. cursec = cursec + dt
  99. curpos = difpos / maxsec * cursec
  100. return curpos
  101. end
  102. function saveGame()
  103. -- savedata = dig
  104. -- serialized = lume.serialize(savedata)
  105. -- love.filesystem.write("savedata.txt", serialized)
  106. end
  107. function loadGame()
  108. -- if love.filesystem.getInfo("savedata.txt") then
  109. -- file = love.filesystem.read("savedata.txt")
  110. -- dig = lume.deserialize(file)
  111. -- end
  112. end
  113. function love.quit()
  114. saveGame()
  115. return false
  116. end