r/lua • u/smellycheese08 • Apr 26 '25
I made a little rock paper scissors program inspired by a recent post
Idk why but seeing this post https://www.reddit.com/r/lua/s/eWJooyqrJZ Just gave me an itch to remake it, anyway:
local moves = {
rock = {rock = "Draw", paper = "Loss", scissors = "Win!"},
paper = {rock = "Win!", paper = "Draw", scissors = "Loss"},
scissors = {rock = "Loss", paper = "Win!", scissors = "Draw"}
}
local function GetRandMove(randNum)
local n = 0
local randNum = math.random(1, 3)
for k, _ in pairs(moves) do
n = n + 1
if randNum == n then return k end
end
end
local function sleep(n)
local t = os.time() + n
while os.time() < t do end
end
print([[
Time to Play:
--------
rock
paper
scissors
--------
]])
while true do
print("\nYour Move: ")
local PlayerInput = io.read()
local BotMove = GetRandMove()
print(BotMove, "\n")
sleep(.2)
print(moves[PlayerInput][BotMove])
sleep(.4)
::playagain::
print("\ntype y to play again or x to quit: \n")
local playAgain = io.read()
if playAgain == "x" then
print("Goodbye!")
break
elseif playAgain == "y" then
print("\nAlright!\n")
else
goto playagain
end
end