Skip to content

Instantly share code, notes, and snippets.

@kingcons
Created August 19, 2015 00:12
Show Gist options
  • Save kingcons/28b4b0f9162f04c37f63 to your computer and use it in GitHub Desktop.
Save kingcons/28b4b0f9162f04c37f63 to your computer and use it in GitHub Desktop.
August Crash Course
# Pieces of data in Hangman
# - Answer
# - Guesses
# - Turn Count
require 'pry'
words = ["raining", "downpour", "parking", "tuesday",
"bourbon", "sour", "mash", "capitalism",
"puppies", "unicorns", "disestablishmentarianism"
]
guesses = []
turn_count = 6
answer = words.sample
puts "Welcome to Hangman!"
puts "I hope you've played before as I am too lazy/sleepy to explain the rules."
puts "The current word is #{answer.length} letters long.\n\n\n"
def win?(answer, guesses)
answer.chars.all? do |letter|
guesses.include?(letter)
end
end
def game_over?(turns, guesses, answer)
turns.zero? || win?(answer, guesses)
end
def turn_status(turn_count, guesses)
puts "You have #{turn_count} turns left and already guessed: #{guesses}"
puts "Please guess a letter: "
end
until game_over?(turn_count, guesses, answer)
turn_status(turn_count, guesses)
guess = gets.chomp
guesses.push(guess)
if !answer.include?(guess)
turn_count = turn_count - 1
end
end
puts "Thanks for playing!"
binding.pry
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment