Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rs.setOutput("top", true)
- monitor = peripheral.wrap("back")
- monitor.setTextScale(.5)
- local function checkWins(values)
- local wins = 0
- for i=1,3 do
- if (values[i] == "X" and values[i+3] == "X" and values[i+6] == "X") then
- wins = wins + 1
- end
- end
- return wins
- end
- local function doDisplay(values, wins, credits)
- monitor.clear()
- monitor.setCursorPos(5,1)
- if (wins == 0) then
- monitor.write("You Lose")
- else
- monitor.write("Win x"..wins.."!")
- end
- monitor.setCursorPos(5,3)
- monitor.write("+-+-+-+")
- monitor.setCursorPos(5,4)
- monitor.write("|"..values[1].."|"..values[4].."|"..values[7].."|")
- monitor.setCursorPos(5,5)
- monitor.write("+-+-+-+")
- monitor.setCursorPos(5,6)
- monitor.write("|"..values[2].."|"..values[5].."|"..values[8].."|")
- monitor.setCursorPos(5,7)
- monitor.write("+-+-+-+")
- monitor.setCursorPos(5,8)
- monitor.write("|"..values[3].."|"..values[6].."|"..values[9].."|")
- monitor.setCursorPos(5,9)
- monitor.write("+-+-+-+")
- monitor.setCursorPos(1,10)
- monitor.write("Free Play")
- -- monitor.write("Credits :"..credits - 1)
- end
- local function play(credits)
- local valuePool = {"O","O","O","O","O","O","X","X","X","X"}
- local randomValues = {}
- for i=1,10 do
- randomValues[i] = valuePool[math.random(1, 10)]
- end
- wins = checkWins(randomValues)
- doDisplay(randomValues, wins, credits)
- if wins > 0 then
- for i=1,wins do
- rs.setOutput("bottom", true)
- os.sleep(.7)
- rs.setOutput("bottom", false)
- end
- end
- end
- local function screenSaver(credits)
- monitor.clear()
- --[[monitor.setCursorPos(3,3)
- monitor.write("Credits: "..credits, 0)
- if (credits == 0) then
- monitor.setCursorPos(3,5)
- monitor.write("Add credits", 1)
- end
- if (credits > 0) then
- monitor.setCursorPos(1,5)
- monitor.write("Pull the lever")
- monitor.setCursorPos(1,6)
- monitor.write("to play -->")
- end]]
- monitor.setCursorPos(3, 5)
- monitor.write("Free Play")
- end
- local function main()
- --credits = 0
- screenSaver(credits)
- local timeCreditAdded = os.clock()
- leverReset = false
- while true do
- os.pullEvent("redstone")
- if (rs.getInput("right") and (os.clock() - timeCreditAdded) > .5) then
- credits = credits + 1
- screenSaver(credits)
- timeCreditAdded = os.clock()
- elseif (rs.getInput("left") and leverReset) then
- --if ((os.clock() - timeCreditAdded) > 3) then
- leverReset = false
- play(credits)
- --credits = credits - 1
- --screenSaver(credits)
- --end
- else
- leverReset = true
- end
- if (credits == 0) then
- screenSaver(0)
- end
- end
- end
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement