使用Ruby构建精彩的猜数字游戏

发表时间: 2022-09-19 14:03

在本文中,我将向您展示如何在 Ruby 中创建一个简单的数字猜谜游戏。游戏将是一个命令行应用程序,它将要求用户猜测 0 到 9 之间的数字。如果用户猜对了,游戏将打印一条消息并退出。如果用户猜错了,游戏将打印一条消息并要求用户再次猜测。

先决条件

您需要在计算机上安装 Ruby。如果你没有安装 Ruby,你可以从ruby-lang.org下载它。

入门

首先,创建一个名为的新文件guessing_game.rb并在您喜欢的文本编辑器中打开它。我们将首先向用户打印欢迎消息。

puts "Welcome to the guessing game!"

接下来,我们将生成一个介于 0 到 9 之间的随机数并将其存储在一个名为 的变量中secret_num。

secret_num = rand(0 .. 9)

该rand方法将生成一个介于 0 到 9 之间的随机数。..运算符将创建一个从 0 到 9 的范围。

接下来,我们将创建一个初始化以下变量:

  • guess- 这将存储用户的猜测
  • guess_count- 这将存储用户所做的猜测次数
  • guess_limit- 这将存储用户可以做出的最大猜测数
  • out_of_guesses- 这将存储一个布尔值,指示用户是否已达到最大猜测次数

guess = nilguess_count = 0guess_limit = 3out_of_guesses = false

接下来,我们将创建一个 while 循环,只要用户未达到最大猜测次数且用户未猜到秘密数字,该循环就会运行。

while guess != secret_num and !out_of_guesses # if guess count is less than guess limit then increment guess count if guess_count < guess_limit puts "Enter your guessed number" guess = gets.chomp.to_i guess_count += 1; else # if guess count is greater than guess limit then set out_of_guesses to true out_of_guesses = true break endend

该gets方法将从用户的输入中读取一行。该chomp方法将从字符串末尾删除换行符。该to_i方法会将字符串转换为整数。

该if语句将检查用户是否已达到最大猜测次数。如果用户已达到最大猜测次数,则将out_of_guesses变量设置为true并while退出循环。

接下来,我们将检查用户是否已达到最大猜测次数。如果用户已达到最大猜测次数,我们将向用户打印一条消息并退出游戏。如果用户未达到最大猜测次数,我们将向用户打印一条消息并要求他们再次猜测。

if out_of_guesses puts "You lose!" puts "You have reached the maximum number of guesses." puts "The secret number was #{secret_num}"else puts "Congratulations! You won!" puts "You guessed the secret number #{secret_num} and you did it in #{guess_count} guesses."end

最后,您的代码应如下所示:

puts "Welcome to the number guessing game!"secret_num = rand(0 .. 9)guess = nilguess_count = 0guess_limit = 3out_of_guesses = falsewhile guess != secret_num and !out_of_guesses # if guess count is less than guess limit then increment guess count if guess_count < guess_limit puts "Enter your guessed number" guess = gets.chomp.to_i guess_count += 1; else # if guess count is greater than guess limit then set out_of_guesses to true out_of_guesses = true break endendif out_of_guesses puts "You lose!" puts "You have reached the maximum number of guesses." puts "The secret number was #{secret_num}"else puts "Congratulations! You won!" puts "You guessed the secret number #{secret_num} and you did it in #{guess_count} guesses."end

要运行游戏,请打开终端并导航到您保存guessing_game.rb文件的目录。然后运行以下命令:

ruby guessing_game.rb

结论

在本文中,我们用 Ruby 创建了一个简单的数字猜谜游戏。游戏将要求用户猜一个 0 到 9 之间的数字。如果用户猜对了,游戏将打印一条消息并退出。如果用户猜错了,游戏将打印一条消息并要求用户再次猜测。