|
Hello, I became interrested in Lua and wanted to learn it. I came from Python and Ruby.
To learn the new language I have decided to make a small program, a roulette game, but I've encountered a small problem. My randomize function always returns the number 31, no matter what.
Here's the whole code. Thanks for any comments, I'm still learning and not too familiar with this language.
function menu()
--a welcome menu
print("Welcome to the Lua Roulette.")
repeat
print("Are you ready to start the game? (y/n)")
answer = io.read()
until answer == 'y' or answer == 'n'
return answer
end
function sleep(t)
--sleep function, to make the game more dramatic
os.execute("sleep " .. tonumber(t))
end
function randomize(r)
--returns a random number, always returns 31 no matter what.
print("The wheel is spinning...")
sleep(2)
r = math.random(36)
print("The ball has landed on the number " .. r .. ".\n")
return r
end
function calculate(r, money, bet, loc)
--This function is not finished yet
if type(tonumber(bet)) == "number" then
if loc == r then
money = money + (35 + bet)
return money
end
elseif loc == "manque" then
if r <= 1 and r >= 18 then
money = money + ((36 / 18) + bet)
return money
end
elseif loc == "passe" then
if r <= 19 and r >= 36 then
money = money + ((36 / 18) + bet)
return money
end
end
end
function game()
wheel = 0
chips = 150
bet = ""
betLoc = "" -- on which number did the player bet
repeat
print("Place your bets! You can bet on numbers((1-36)type 'number'), Manque(1-18),\n")
print(" Passe(19-36), red, black, even, odd or quit(q).\n")
print("Your current balance is " .. "$" .. tostring(chips))
betLoc = io.read()
if betLoc == "q" then
os.exit()
else
print("How many do you want to bet?\n")
bet = io.read()
bet = tonumber(bet)
chips = chips - bet
randomize(wheel)
calculate(wheel, chips, bet, betLoc)
end
until chips == 0
print("Sorry, you lost all your money.")
print("Do you want to play again? (y/n)\n")
--ask if the player wants to play again
local playagain = io.read()
if playagain == 'y' then
menu()
else
os.exit()
end
end
menu()
if answer == 'y' then
game()
else
os.exit()
end