-- Rock, Paper, Scissors Game in Lua
-- Function to get the computer's choice
function getComputerChoice()
local choices = {"rock", "paper", "scissors"}
local randomIndex = math.random(1, 3)
return choices[randomIndex]
end
-- Function to determine the winner
function determineWinner(playerChoice, computerChoice)
if playerChoice == computerChoice then
return "It's a tie!"
elseif (playerChoice == "rock" and computerChoice == "scissors") or
(playerChoice == "scissors" and computerChoice == "paper") or
(playerChoice == "paper" and computerChoice == "rock") then
return "You win!"
else
return "Computer wins!"
end
end
-- Main game loop
function playGame()
print("Welcome to Rock, Paper, Scissors!")
print("Please enter 'rock', 'paper', or 'scissors' to play:")
-- Get player's choice
local playerChoice = io.read()
-- Ensure the player enters a valid choice
if playerChoice ~= "rock" and playerChoice ~= "paper" and playerChoice ~= "scissors" then
print("Invalid choice! Please enter 'rock', 'paper', or 'scissors'.")
return
end
-- Get the computer's choice
local computerChoice = getComputerChoice()
print("Computer chose: " .. computerChoice)
-- Determine and display the result
local result = determineWinner(playerChoice, computerChoice)
print(result)
end
-- Seed the random number generator
math.randomseed(os.time())
-- Play the game
playGame()-- your code goes here
LS0gUm9jaywgUGFwZXIsIFNjaXNzb3JzIEdhbWUgaW4gTHVhCgotLSBGdW5jdGlvbiB0byBnZXQgdGhlIGNvbXB1dGVyJ3MgY2hvaWNlCmZ1bmN0aW9uIGdldENvbXB1dGVyQ2hvaWNlKCkKICAgIGxvY2FsIGNob2ljZXMgPSB7InJvY2siLCAicGFwZXIiLCAic2Npc3NvcnMifQogICAgbG9jYWwgcmFuZG9tSW5kZXggPSBtYXRoLnJhbmRvbSgxLCAzKQogICAgcmV0dXJuIGNob2ljZXNbcmFuZG9tSW5kZXhdCmVuZAoKLS0gRnVuY3Rpb24gdG8gZGV0ZXJtaW5lIHRoZSB3aW5uZXIKZnVuY3Rpb24gZGV0ZXJtaW5lV2lubmVyKHBsYXllckNob2ljZSwgY29tcHV0ZXJDaG9pY2UpCiAgICBpZiBwbGF5ZXJDaG9pY2UgPT0gY29tcHV0ZXJDaG9pY2UgdGhlbgogICAgICAgIHJldHVybiAiSXQncyBhIHRpZSEiCiAgICBlbHNlaWYgKHBsYXllckNob2ljZSA9PSAicm9jayIgYW5kIGNvbXB1dGVyQ2hvaWNlID09ICJzY2lzc29ycyIpIG9yCiAgICAgICAgICAgKHBsYXllckNob2ljZSA9PSAic2Npc3NvcnMiIGFuZCBjb21wdXRlckNob2ljZSA9PSAicGFwZXIiKSBvcgogICAgICAgICAgIChwbGF5ZXJDaG9pY2UgPT0gInBhcGVyIiBhbmQgY29tcHV0ZXJDaG9pY2UgPT0gInJvY2siKSB0aGVuCiAgICAgICAgcmV0dXJuICJZb3Ugd2luISIKICAgIGVsc2UKICAgICAgICByZXR1cm4gIkNvbXB1dGVyIHdpbnMhIgogICAgZW5kCmVuZAoKLS0gTWFpbiBnYW1lIGxvb3AKZnVuY3Rpb24gcGxheUdhbWUoKQogICAgcHJpbnQoIldlbGNvbWUgdG8gUm9jaywgUGFwZXIsIFNjaXNzb3JzISIpCiAgICBwcmludCgiUGxlYXNlIGVudGVyICdyb2NrJywgJ3BhcGVyJywgb3IgJ3NjaXNzb3JzJyB0byBwbGF5OiIpCgogICAgLS0gR2V0IHBsYXllcidzIGNob2ljZQogICAgbG9jYWwgcGxheWVyQ2hvaWNlID0gaW8ucmVhZCgpCgogICAgLS0gRW5zdXJlIHRoZSBwbGF5ZXIgZW50ZXJzIGEgdmFsaWQgY2hvaWNlCiAgICBpZiBwbGF5ZXJDaG9pY2Ugfj0gInJvY2siIGFuZCBwbGF5ZXJDaG9pY2Ugfj0gInBhcGVyIiBhbmQgcGxheWVyQ2hvaWNlIH49ICJzY2lzc29ycyIgdGhlbgogICAgICAgIHByaW50KCJJbnZhbGlkIGNob2ljZSEgUGxlYXNlIGVudGVyICdyb2NrJywgJ3BhcGVyJywgb3IgJ3NjaXNzb3JzJy4iKQogICAgICAgIHJldHVybgogICAgZW5kCgogICAgLS0gR2V0IHRoZSBjb21wdXRlcidzIGNob2ljZQogICAgbG9jYWwgY29tcHV0ZXJDaG9pY2UgPSBnZXRDb21wdXRlckNob2ljZSgpCiAgICBwcmludCgiQ29tcHV0ZXIgY2hvc2U6ICIgLi4gY29tcHV0ZXJDaG9pY2UpCgogICAgLS0gRGV0ZXJtaW5lIGFuZCBkaXNwbGF5IHRoZSByZXN1bHQKICAgIGxvY2FsIHJlc3VsdCA9IGRldGVybWluZVdpbm5lcihwbGF5ZXJDaG9pY2UsIGNvbXB1dGVyQ2hvaWNlKQogICAgcHJpbnQocmVzdWx0KQplbmQKCi0tIFNlZWQgdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yCm1hdGgucmFuZG9tc2VlZChvcy50aW1lKCkpCgotLSBQbGF5IHRoZSBnYW1lCnBsYXlHYW1lKCktLSB5b3VyIGNvZGUgZ29lcyBoZXJl