Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Roulette Game with Monitor Display in ComputerCraft Lua for Minecraft
- -- Connect to the Advanced Monitor
- local monitor = peripheral.wrap("right") -- Change "right" to the side your monitor is on
- -- Configure monitor settings
- monitor.setTextScale(1)
- monitor.clear()
- -- Function to display a spinning effect on the monitor
- local function displaySpinAnimation(spinResult)
- local numbers = {
- {number = 0, color = "Green"},
- {number = 1, color = "Red"},
- {number = 2, color = "Black"},
- {number = 3, color = "Red"},
- {number = 4, color = "Black"},
- {number = 5, color = "Red"},
- {number = 6, color = "Black"},
- {number = 7, color = "Red"},
- {number = 8, color = "Black"},
- {number = 9, color = "Red"},
- {number = 10, color = "Black"},
- {number = 11, color = "Black"},
- {number = 12, color = "Red"},
- {number = 13, color = "Black"},
- {number = 14, color = "Red"},
- {number = 15, color = "Black"},
- {number = 16, color = "Red"},
- {number = 17, color = "Black"},
- {number = 18, color = "Red"}
- }
- monitor.clear()
- monitor.setCursorPos(1, 1)
- monitor.write("Spinning the Wheel...")
- -- Simulate spinning animation
- for i = 1, 15 do
- local spinIndex = math.random(1, #numbers)
- local numberDisplay = numbers[spinIndex].number
- local colorDisplay = numbers[spinIndex].color
- monitor.setCursorPos(1, 3)
- monitor.clearLine()
- monitor.write("Number: " .. numberDisplay .. " | Color: " .. colorDisplay)
- sleep(0.2) -- Adjust this for speed of the "spin"
- end
- -- Display final result
- monitor.setCursorPos(1, 5)
- monitor.write("Result: " .. spinResult.number .. " - " .. spinResult.color)
- end
- -- Function to spin the roulette wheel
- local function spinWheel()
- local numbers = {
- {number = 0, color = "Green"},
- {number = 1, color = "Red"},
- {number = 2, color = "Black"},
- {number = 3, color = "Red"},
- {number = 4, color = "Black"},
- {number = 5, color = "Red"},
- {number = 6, color = "Black"},
- {number = 7, color = "Red"},
- {number = 8, color = "Black"},
- {number = 9, color = "Red"},
- {number = 10, color = "Black"},
- {number = 11, color = "Black"},
- {number = 12, color = "Red"},
- {number = 13, color = "Black"},
- {number = 14, color = "Red"},
- {number = 15, color = "Black"},
- {number = 16, color = "Red"},
- {number = 17, color = "Black"},
- {number = 18, color = "Red"}
- }
- local spinResult = math.random(1, #numbers)
- return numbers[spinResult]
- end
- -- Function to display betting options
- local function displayOptions()
- print("Welcome to Roulette!")
- print("Choose your bet type:")
- print("1. Bet on Color (Red or Black)")
- print("2. Bet on Number (0-18)")
- print("Type your choice and press Enter:")
- end
- -- Function to handle betting
- local function getBet()
- displayOptions()
- local betType = tonumber(io.read())
- local bet = {}
- if betType == 1 then
- print("Choose your color (Red or Black): ")
- bet.type = "color"
- bet.choice = io.read():lower()
- elseif betType == 2 then
- print("Choose your number (0-18): ")
- bet.type = "number"
- bet.choice = tonumber(io.read())
- else
- print("Invalid choice! Please try again.")
- return getBet()
- end
- return bet
- end
- -- Function to calculate the outcome
- local function determineOutcome(bet, result)
- local win = false
- if bet.type == "color" and bet.choice == result.color:lower() then
- win = true
- elseif bet.type == "number" and bet.choice == result.number then
- win = true
- end
- if win then
- print("Congratulations! You won!")
- print("The winning result was " .. result.color .. " " .. result.number)
- else
- print("Sorry, you lost. Better luck next time!")
- print("The winning result was " .. result.color .. " " .. result.number)
- end
- end
- -- Main game loop
- local function playRoulette()
- local playAgain = true
- while playAgain do
- local bet = getBet()
- local result = spinWheel()
- -- Display the spin animation and result on the monitor
- displaySpinAnimation(result)
- determineOutcome(bet, result)
- print("Would you like to play again? (Yes/No)")
- local answer = io.read():lower()
- playAgain = (answer == "yes")
- end
- print("Thanks for playing Roulette!")
- end
- -- Run the game
- playRoulette()
Advertisement
Add Comment
Please, Sign In to add comment