Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного. На уроке мы ищем палиндромы, детские слова и анаграммы. Хорошее подспорье для игры Эрудит.
Дата отправки отчёта:
22 декабря 2015 г.
Задание выполнено: за
2 час. 00 мин.
Чему научился:
Научился создавать решение для многих игр в слова. Повторил алгоритмы и многое другое.
Что было сложным:
Самым сложным было придумать свой алгоритм и создать его. Я это воспринял как реализацию еще какой-то игры в слова. И я реализовывал "Составить новые слова". Основная задача этой игры это составить из букв данного слова максимальное количество слов, но в исходных словах должны присутствовать буквы исходного только один раз. Реализация алгоритма прикреплена во 2м скриншоте. В обработчике события нажатия кнопки buttonCreateNewWords_Click() в цикле проходятся все слова, при этом исключаются сразу же слова большей длины чем заданное и слово из которого мы составляем естественно. Далее вызывается функция IsCreateNewWord() которая возвращает true, если данное слово можно составить из букв исходного. Все очень просто. Если разница между количеством букв в исходном и данном слове меньше нуля, то-есть в слова присутсвуют лишние буквы или их количество больше, чем у исходного метод возвращает false. Тесты проводились по трем словам: АВИТАМИНОЗ ЦЫПЛЕНОК КАБРИОЛЕТ. Думаю с этим заданием справился.
Комментарии:
Очень классный видеоурок, можно многое почерпнуть для себя.
Так как там одинаковые конструкции обработки слов у первых 3 кнопок, я вынес это все в функцию и передавал делегат. На мой взгляд это рациональнее. В целом, спасибо за урок)
Трудности: Для возможности записи в файл новых слов и считывания их сразу пришлось открывать и записывать Stream потоком. Задал полный путь к файлу. Есть ли возможность задавать относительный путь? А лучше зашивать в ресурсы? Добавлена возможность выборки слов для игры эрудит. (кнопка для Танюши. Учитывается количество одинаковых букв.)
Добавлена возможность добавления слов в файл во время работы программы.