diff --git a/wirelessCode/Slot.lua b/wirelessCode/Slot.lua new file mode 100644 index 0000000..5568687 --- /dev/null +++ b/wirelessCode/Slot.lua @@ -0,0 +1,114 @@ +local wireless = require("wireless") + +os.pullEvent= function(...) + while true do + local t = table.pack(os.pullEventRaw(...)) + if t[1] ~= "terminate" then + return table.unpack(t,1,t.n) + end + end +end + +local function interactWithCard(userUUID, mode, money) +if mode == "updateBalance" then + wireless.broadcast({ + uuid = userUUID, + amount = money, + type = "set" + }, "machineBalanceModifier") + end + + if mode == "getBalance" then + local _, _, cardUUID = os.pullEvent("nfc_data") + wireless.broadcast({ + card = cardUUID + }, "getAccountData") + + while true do + local id, message = wireless.receive("server_response", 10) + if not id then + print("the server is down") + print("please ping @minecartchris") + sleep(30) + --shell.run("reboot") + end + if not message then + print("WTF!? I got a rednet message with no data!?") + print("Rebooting...") + sleep(5) + end + if message.type == "account_data" and message.cardId == cardUUID then + local money = message.balance + local playerUUID = message.uuid + local username = message.username + return money, playerUUID, username + end + + end + end +end + + + +sleep(0.25) + +nfc = peripheral.wrap("bottom") + +if fs.exists("/disk/terminate") then + error("Service mode active",2) +end +modem = peripheral.wrap("back") +shell.run("clear all") +--while not fs.exists("/disk2/money.lua") do + --sleep(0.75) + --print("You do not have a card inserted") + --sleep(2) + --shell.run("clear all") +--end +--print("Please do not remove your card from the drive during games") +local money = " " +local winner = false +local randnum = 0 +local bet = 0 +--local money2 = fs.open("/disk2/money.lua", "r") +print("Welcome to the Slot Machine!") +print("Please swipe your card to begin") + +--local _, _, userUUID = os.pullEvent("nfc_data") +money, playerUUID, username = interactWithCard(nil, "getBalance", nil) + +--money2.close() +print("Welcome "..tostring(username)) + +print("$",money) +money = tonumber(money) +print("what is your bet?") +bet = tonumber(io.read()) +print("what is your guess 1 to 15?") +userGess = tonumber(io.read()) +if not bet or bet > money or bet < 0 then + print("You do not have enough funds or did not enter a bet.") + sleep(3) + shell.run("reboot") +end +randnum = tonumber(math.random(0, 14) + 1) +if userGess == randnum then + winner = true +end +if not winner then + print("you lost ;(") + print("The correct number was", randnum) + money = money - bet + print("you have $",money, "left over") + interactWithCard(playerUUID, "updateBalance", money) +end +if winner then + bet = bet * 2 + money = bet + money + print("You win!!!!!") + print("You now have $", money) + interactWithCard(playerUUID, "updateBalance", money) +end + +sleep(2) +os.reboot()