diff --git a/hangman.rb b/hangman.rb index 610eb83..15cc80c 100644 --- a/hangman.rb +++ b/hangman.rb @@ -48,34 +48,55 @@ end word = pick_word(a) until word.length.between?(5, 12) word = pick_word(a) + word.downcase! end -puts "Your word is #{word}" #initialize some variables guess = "" +guesses = Array.new +wrong_guesses = 0 scrambled_word = "" scrambled_word << word -guesses = Array.new hidden_letters = generate_hidden_letters(word) scrambled_word = scramble_word(word, hidden_letters, scrambled_word) +puts "Word is #{word}" + while true - puts "Word is #{word}" - puts "scrambled is #{scrambled_word}" #puts the array as a readable string puts scrambled_word.inspect[1...-1].gsub('"',"").gsub(',','') + #check game end conditions + if hidden_letters.size == 0 + puts "YOU WIN" + exit + end + + if wrong_guesses > 5 + puts "YOU HANG" + exit + end + + #get player input print "Guess a letter: " guess = gets.chop - unless guesses.include?(guess) + + unless guesses.include?(guess) #keep track of previous guesses guesses.push(guess) end - p guesses - p hidden_letters + + #if guess is wrong, add another piece to the hangman + unless word.include?(guess) + wrong_guesses = wrong_guesses + 1 + end + + print "Guesses: #{guesses.inspect[1...-1].gsub('"',"").gsub(',','')}\n\n" scrambled_word = unscramble_word(word, guesses, scrambled_word) + hidden_letters.delete(guess) + end #if input is included in word but not hidden word then