added game end conditions
This commit is contained in:
parent
0d4a5d1898
commit
53b032310e
35
hangman.rb
35
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user