Build a number guessing game in Ruby

build-a-number-guessing-game-in-ruby

In this article I will show you how to create a simple number guessing game in Ruby. The game will be a command line application that will ask the user to guess a number between 0 to 9. If the user guesses correctly, the game will print a message and exit. If the user guesses incorrectly, the game will print a message and ask the user to guess again.

Prerequisites

You will need to have Ruby installed on your computer. If you don’t have Ruby installed, you can download it from ruby-lang.org.

Getting started

To get started, create a new file called guessing_game.rb and open it in your favorite text editor. We will start by printing a welcome message to the user.

puts "Welcome to the guessing game!"

Next, we will generate a random number between 0 to 9 and store it in a variable called secret_num.

secret_num = rand(0 .. 9)

The rand method will generate a random number between 0 to 9. The .. operator will create a range from 0 to 9.

Next, we will create a initialize the following variables:

  • guess – this will store the user’s guess
  • guess_count – this will store the number of guesses the user has made
  • guess_limit – this will store the maximum number of guesses the user can make
  • out_of_guesses – this will store a boolean value indicating if the user has reached the maximum number of guesses
guess = nil
guess_count = 0
guess_limit = 3
out_of_guesses = false

Next, we will create a while loop that will run as long as the user has not reached the maximum number of guesses and the user has not guessed the secret number.

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

The gets method will read a line from the user’s input. The chomp method will remove the newline character from the end of the string. The to_i method will convert the string to an integer.

The if statement will check if the user has reached the maximum number of guesses. If the user has reached the maximum number of guesses, the out_of_guesses variable will be set to true and the while loop will exit.

Next, we will check if the user has reached the maximum number of guesses. If the user has reached the maximum number of guesses, we will print a message to the user and exit the game. If the user has not reached the maximum number of guesses, we will print a message to the user and ask them to guess again.

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

Finally, your code should look like this:

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

To run the game, open a terminal and navigate to the directory where you saved the guessing_game.rb file. Then run the following command:

ruby guessing_game.rb

Conclusion

In this article, we created a simple number guessing game in Ruby. The game will ask the user to guess a number between 0 to 9. If the user guesses correctly, the game will print a message and exit. If the user guesses incorrectly, the game will print a message and ask the user to guess again.

Follow me

If you enjoyed this article, please follow me on

Total
1
Shares
Leave a Reply

Your email address will not be published. Required fields are marked *

Previous Post
lazy-load-images

Lazy Load Images

Next Post
questions-about-sveltekit?

Questions about SvelteKit?

Related Posts