Телеграм чат начинающих программистов. Общаемся и помогаем друг другу
Если ссылка не открывается, можно найти нас в поиске по чатам @rubyrush
или
пойти другим путем
В программе «Виселица» есть важный недостаток: она не считает буквы е
и ё
одной буквой. А следовало бы.
Было бы гораздо удобнее, если бы она принимала эти буквы за одну и открывала заодно и все буквы ё
, если введена е
и наоборот.
Аналогично с буквами и
и й
.
Исправьте программу так, чтобы реализовать эту возможность.
Один из возможных способов — вы можете сделать по-своему.
В методе check_input
расширить условие проверки — если введено е
, проверять массив букв слова еще и на наличие ё
. Если есть — игрок угадал.
Помимо этого нам нужно автоматически добавлять к угаданным буквам е
, если было введено ё
и наоборот.
Старый способ проверки условия завершения игры (с помощью сравнения letters.uniq.sort
и good_letter.sort
) теперь не сработает, потому что массивы letters
и good_letters
могут содержать разные буквы даже если все буквы отгаданы.
Подумайте, каким способом теперь можно убедиться, что игра закончена: все буквы одного массива (letters
) есть в другом (good_letters
). Погуглите какие операции можно делать с двумя множествами вообще, и как эти операции реализованы в массивах Руби.