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)
|
word = pick_word(a)
|
||||||
until word.length.between?(5, 12)
|
until word.length.between?(5, 12)
|
||||||
word = pick_word(a)
|
word = pick_word(a)
|
||||||
|
word.downcase!
|
||||||
end
|
end
|
||||||
puts "Your word is #{word}"
|
|
||||||
|
|
||||||
#initialize some variables
|
#initialize some variables
|
||||||
guess = ""
|
guess = ""
|
||||||
|
guesses = Array.new
|
||||||
|
wrong_guesses = 0
|
||||||
scrambled_word = ""
|
scrambled_word = ""
|
||||||
scrambled_word << word
|
scrambled_word << word
|
||||||
guesses = Array.new
|
|
||||||
|
|
||||||
hidden_letters = generate_hidden_letters(word)
|
hidden_letters = generate_hidden_letters(word)
|
||||||
scrambled_word = scramble_word(word, hidden_letters, scrambled_word)
|
scrambled_word = scramble_word(word, hidden_letters, scrambled_word)
|
||||||
|
|
||||||
|
puts "Word is #{word}"
|
||||||
|
|
||||||
while true
|
while true
|
||||||
|
|
||||||
puts "Word is #{word}"
|
|
||||||
puts "scrambled is #{scrambled_word}"
|
|
||||||
#puts the array as a readable string
|
#puts the array as a readable string
|
||||||
puts scrambled_word.inspect[1...-1].gsub('"',"").gsub(',','')
|
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: "
|
print "Guess a letter: "
|
||||||
guess = gets.chop
|
guess = gets.chop
|
||||||
unless guesses.include?(guess)
|
|
||||||
|
unless guesses.include?(guess) #keep track of previous guesses
|
||||||
guesses.push(guess)
|
guesses.push(guess)
|
||||||
end
|
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)
|
scrambled_word = unscramble_word(word, guesses, scrambled_word)
|
||||||
|
|
||||||
|
hidden_letters.delete(guess)
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
#if input is included in word but not hidden word then
|
#if input is included in word but not hidden word then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user