#hangman game #01/21/2022 def pick_word(a) rand_int = rand(0..a.size) return a[rand_int].chop! end def generate_hidden_letters(word) hidden_letters = Array.new word.length.times do |i| if rand(0..1) == 0 #do this 50% of the time hidden_letters.push(word[i]) #create an array of letters to be hidden end end return hidden_letters end def scramble_word(word, hidden_letters, scrambled_word, guess) hidden_letters.each do |letter| #for each hidden letter word.length.times do |i| if word[i] == letter #if you find one, replace it with a "_" in the string scrambled_word[i] = "_" elsif word[i] == guess scrambled_word[i] = guess end end end return scrambled_word end #loading file into an array a = Array.new dict = File.open('5desk.txt') dict.each do |row| a.push(row) end #picking a word between 5 and 12 characters long word = pick_word(a) until word.length.between?(5, 12) word = pick_word(a) end puts "Your word is #{word}" hidden_letters = generate_hidden_letters(word) guess = "" scrambled_word = "" scrambled_word << word scrambled_word = scramble_word(word, hidden_letters, scrambled_word, guess) puts "Your word is #{word} after =scramble" 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(',','') print "Guess a letter: " guess = gets.chop p guess p hidden_letters if hidden_letters.include?(guess) puts "INCLUDED" hidden_letters.delete(guess) scrambled_word = scramble_word(word, hidden_letters, scrambled_word, guess) end end #if input is included in word but not hidden word then #if word[x] == input then hidden[x] == input #do this over the array #if guess == a hidden letter # fill in that letter #else # increase hangman counter