forked from minecartchris/CC-Casnio
Add wirelessCode/Slot.lua
This commit is contained in:
114
wirelessCode/Slot.lua
Normal file
114
wirelessCode/Slot.lua
Normal file
@@ -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()
|
||||
Reference in New Issue
Block a user