用 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也只能算是還湊合的水平。曾經一到春天,很多人都喜歡玩春之虎帝的梗,因為小虎確實在某一個時間段,...