用 Ruby 构建一个猜数字游戏

2022年10月01日22:58:24 游戏 1230

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

用 Ruby 构建一个猜数字游戏 - 天天要闻

先决条件

您需要在计算机上安装 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 = nil guess_count = 0 guess_limit = 3 out_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 end end

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 = nil guess_count = 0 guess_limit = 3 out_of_guesses = false 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 end end 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

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

ruby guessing_game.rb

结论

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

游戏分类资讯推荐

胖东来的工资待遇 - 天天要闻

胖东来的工资待遇

说胖东来普通员工1到2月的实发工资是9886元,店长级的月薪高达78058元,年入近百万。
AG3比0战胜狼队,一诺两连MVP,成功锁定胜者组 - 天天要闻

AG3比0战胜狼队,一诺两连MVP,成功锁定胜者组

KPL春季赛常规赛第三轮第二周最后一天的压轴战拉开帷幕,对战双方是成都AG超玩会和重庆狼队。 这场比赛是本赛季红狼第二次交手,第二轮AG在S组零封了狼队,并且从去年夏季赛至今他们面对狼队五....
选手都是名人结果却是烂队?小虎的春天不会回来了 - 天天要闻

选手都是名人结果却是烂队?小虎的春天不会回来了

★游戏马蹄铁原创WBG对战ALWBG今年的阵容在转会期之后我们就评价过,像是臭豆腐,一部分选手看起来很香,但另一部选手明显又很臭。Tian和Hang的加入,并没有让这支队伍发生什么质变。而Breath,Xiaohu和Light,在如今的LPL也只能算是还凑合的水平。曾经一到春天,很多人都喜欢玩春之虎帝的梗,因为小虎确实在某一个时间段,...