У меня возникли трудности с добавлением подчеркивания в моей программе. Также меня беспокоит то, что я не могу понять, как удалить подчеркивания, когда пользователь вводит правильную букву.Как добавить символы подчеркивания и удалить их, когда пользователь вводит правильную букву?
class Game
attr_reader :guess_count, :is_over, :word_length
def initialize (secret_word)
@secret_word = secret_word
@guess_count = 0
@is_over = false
@word_length = secret_word.length
end
def check_word(guess)
@guess_count += 1
if @secret_word == guess
puts "Congratulations!"
@is_over = true
else
@is_over = false
puts "Sorry, try again!"
end
end
def subtract_guess_count
counter = @word_length - @guess_count
end
end
puts "User 1, What is your secret word?"
secret_word = gets.chomp
anything = Game.new(secret_word)
while !anything.is_over
puts "User 2, Guess the secret word"
guess = gets.chomp
anything.check_word(guess)
if anything.subtract_guess_count == 0
puts "You lose! the correct word was #{secret_word}"
exit!
end
if anything.is_over == false
puts "You have #{anything.subtract_guess_count} left!"
end
end
Ввод содержит символ подчеркивания? Что вы хотите удалить? Если это так, используйте этот 'gets.chomp.gsub (« _ »,« »)' – Gopal
. Я не уверен, как это сделать, для большей ясности здесь я должен что-то сделать. ** # Угадающий игрок получает постоянную обратную связь по текущему состоянию слова. Поэтому, если секретное слово «единорог», пользователь начнет видеть что-то вроде «_ _ _ _ _ _ _», которое станет «_ _ _ _ _ _ _» после того, как пользователь войдет в предположение о «c», . ** Я хотел бы, чтобы программа выполняла символы подчеркивания вместо пустого –