Advertisement
Leprofourbus

bank

Aug 3rd, 2024
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.60 KB | Gaming | 0 0
  1. -- bank.lua
  2.  
  3. local accounts = {}
  4.  
  5. local function saveAccounts()
  6.     local file = fs.open("accounts", "w")
  7.     file.write(textutils.serialize(accounts))
  8.     file.close()
  9. end
  10.  
  11. local function loadAccounts()
  12.     if fs.exists("accounts") then
  13.         local file = fs.open("accounts", "r")
  14.         accounts = textutils.unserialize(file.readAll())
  15.         file.close()
  16.     end
  17. end
  18.  
  19. local function createAccount(name)
  20.     if accounts[name] then
  21.         print("Compte déjà existant!")
  22.         return
  23.     end
  24.     accounts[name] = 0
  25.     saveAccounts()
  26.     print("Compte créé pour " .. name)
  27. end
  28.  
  29. local function deposit(name, amount)
  30.     if not accounts[name] then
  31.         print("Compte non trouvé!")
  32.         return
  33.     end
  34.     accounts[name] = accounts[name] + amount
  35.     saveAccounts()
  36.     print(amount .. " déposé. Nouveau solde: " .. accounts[name])
  37. end
  38.  
  39. local function withdraw(name, amount)
  40.     if not accounts[name] then
  41.         print("Compte non trouvé!")
  42.         return
  43.     end
  44.     if accounts[name] < amount then
  45.         print("Fonds insuffisants!")
  46.         return
  47.     end
  48.     accounts[name] = accounts[name] - amount
  49.     saveAccounts()
  50.     print(amount .. " retiré. Nouveau solde: " .. accounts[name])
  51. end
  52.  
  53. local function checkBalance(name)
  54.     if not accounts[name] then
  55.         print("Compte non trouvé!")
  56.         return
  57.     end
  58.     print("Solde de " .. name .. ": " .. accounts[name])
  59. end
  60.  
  61. local function drawMenu()
  62.     term.clear()
  63.     term.setCursorPos(1, 1)
  64.     print("Banque")
  65.     print("1. Créer Compte")
  66.     print("2. Déposer")
  67.     print("3. Retirer")
  68.     print("4. Consulter Solde")
  69.     print("Selection: ")
  70. end
  71.  
  72. local function main()
  73.     loadAccounts()
  74.     while true do
  75.         drawMenu()
  76.         local choice = read()
  77.  
  78.         if choice == "1" then
  79.             print("Nom du compte: ")
  80.             local name = read()
  81.             createAccount(name)
  82.         elseif choice == "2" then
  83.             print("Nom du compte: ")
  84.             local name = read()
  85.             print("Montant à déposer: ")
  86.             local amount = tonumber(read())
  87.             deposit(name, amount)
  88.         elseif choice == "3" then
  89.             print("Nom du compte: ")
  90.             local name = read()
  91.             print("Montant à retirer: ")
  92.             local amount = tonumber(read())
  93.             withdraw(name, amount)
  94.         elseif choice == "4" then
  95.             print("Nom du compte: ")
  96.             local name = read()
  97.             checkBalance(name)
  98.         else
  99.             print("Option invalide")
  100.         end
  101.         sleep(2)
  102.     end
  103. end
  104.  
  105. main()
  106.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement