Skip to content

Instantly share code, notes, and snippets.

@thomasklemm
Last active August 29, 2015 14:19
Show Gist options
  • Save thomasklemm/e0e8b26fee6ba6d1434d to your computer and use it in GitHub Desktop.
Save thomasklemm/e0e8b26fee6ba6d1434d to your computer and use it in GitHub Desktop.
Guess my number game
# Play with `ruby guessing_game.rb`
require 'securerandom'
def next_guess
@guess = STDIN.gets.to_i
# Validate input
next_guess unless @guess >= 1 && @guess <= 100_000
@number_of_guesses += 1
# Evaluate guess
if @guess > @number
puts "Lower."
next_guess
elsif @guess < @number
puts "Higher."
next_guess
elsif @guess == @number
duration_in_seconds = (Time.now - @start_time).to_i
puts "You've done it!"
puts "I picked #{@number}, and you've found it in #{duration_in_seconds} seconds with #{@number_of_guesses} guesses."
puts "Well done!"
end
end
puts "Guessing a number between 1 and 100,000. How fast can you guess it?"
@number = SecureRandom.random_number(100_000) + 1
@start_time = Time.now
@number_of_guesses = 0
next_guess
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment