Spirit13300

printerMacdo.lua

Sep 26th, 2025
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. local printer = peripheral.find("printer")
  2.  
  3. local t = { ["BigMalc"]=7, ["Frite"]=3, ["Coca"]=4 }
  4.  
  5. name = "Malcorp"
  6. numero = "1"
  7.  
  8. local function arrondi(x)
  9.     return math.floor(x * 100 + 0.5) / 100
  10. end
  11.  
  12. printer.newPage()
  13. printer.setPageTitle("Paiement Macdo")
  14. printer.setCursorPos(3, 1)
  15. printer.write("Bienvenue a Malcordal's")
  16. printer.setCursorPos(1,2)
  17. printer.write("----------------------------")
  18. printer.setCursorPos(5,4)
  19. printer.write("Bonjour "..name)
  20. printer.setCursorPos(1,5)
  21. printer.write("Votre commande numero :"..numero)
  22. printer.setCursorPos(1,6)
  23. printer.write("le "..os.date("%d/%m/%Y").." a "..os.date("%H:%M:%S"))
  24. printer.setCursorPos(1,7)
  25. printer.write("----------------------------")
  26. printer.setCursorPos(1,8)
  27. printer.write("Facture : ")
  28.  
  29. cursor = 9
  30.  
  31. somme = 0
  32.  
  33. for k, v in pairs(t) do
  34.     somme = somme + v
  35.     cursor= cursor +1
  36.     printer.setCursorPos(1,cursor)
  37.     printer.write(k)
  38.     printer.setCursorPos(13,cursor)
  39.     printer.write("|")
  40.     printer.setCursorPos(23,cursor)
  41.     printer.write(v.."$")
  42.     print(k, v)
  43. end
  44.  
  45. cursor = cursor + 1
  46. printer.setCursorPos(1,cursor)
  47. printer.write("---------------------------")
  48.  
  49.  
  50.  
  51. cursor = cursor + 1
  52. printer.setCursorPos(1,cursor)
  53. printer.write("Total Hors taxe :  ")
  54. printer.setCursorPos(23,cursor)
  55. printer.write(somme.."$")
  56.  
  57. cursor = cursor + 1
  58. printer.setCursorPos(1,cursor)
  59. printer.write("Tva 20% :")
  60. printer.setCursorPos(22,cursor)
  61. tva = somme * 0.2
  62. tva = arrondi(tva)
  63. printer.write(tva.."$")
  64.  
  65. cursor = cursor + 1
  66. printer.setCursorPos(1,cursor)
  67. printer.write("Total TTC : ")
  68. printer.setCursorPos(21,cursor)
  69. ttc = somme + tva
  70. printer.write(ttc.."$")
  71.  
  72.  
  73. local PATH = "/data/points.tbl"
  74.  
  75. local t = {}
  76. if fs.exists(PATH) then
  77.   local f = fs.open(PATH, "r")
  78.   local s = f.readAll(); f.close()
  79.   t = textutils.unserialize(s) or {}
  80. end  
  81.  
  82. t[name] = (t[name] or 0) + math.floor(ttc)
  83. fide = t[name]
  84.  
  85. local tmp = PATH..".tmp"
  86. local f = fs.open(tmp, "w")
  87. f.write(textutils.serialize(t))  
  88. f.close()
  89. if fs.exists(PATH) then fs.delete(PATH) end
  90.  
  91. fs.move(tmp, PATH)
  92.  
  93. print("Mis à jour :", textutils.serialize(t))
  94.  
  95. cursor = cursor + 1
  96. printer.setCursorPos(1,cursor)
  97. printer.write("-------------------------")
  98. cursor = cursor + 1
  99. printer.setCursorPos(1,cursor)
  100. printer.write("Points Malco : "..fide)
  101.  
  102.  
  103. printer.endPage()
  104.  
  105.  
Add Comment
Please, Sign In to add comment