Курсы по программированию

Формула программиста
основатель — Волосатов Евгений Витольдович

Игры со словами / Игры со словами

  • Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного.
    На уроке мы ищем палиндромы, детские слова и анаграммы.
    Хорошее подспорье для игры Эрудит.
  • Дата отправки отчёта: 28 мая 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: Работа с IO.File, Text.StringBuilder, Linq.Enumerable.
  • Что было сложным: Сложностей не было, возникла заминка с текстовым файлом: пришлось менять кодировку, чтобы слова считывались.
  • Комментарии: Спасибо за урок!
  • Оценка видео-уроку:
Отчёт от 4560 за Игры со словами / Игры со словами




Оцени работу

 
Сохранить страницу:


Начинаем практику по языку C#




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.
Научился: Если честно - то многому. 1)Программу делал не пошагово по видеокурсу, а самостоятельно после просмотра курса. Так что пришлось подумать, и в ходе написания алгоритмов нашёл много нового для себя. ")Было добавлено открытие файла со словарём. Теперь можно в любой момент загрузить другой словарь. Слова обрабатываются независимо от регистра. 3)В "Городах" окончания на Ь Ы Ъ игнорируются, берётся предыдущая буква. Й считается за И. При каждом старте первое слово выбирается рандомно. 4) Сложный эрудит так же доработан. Теперь он составляет все возможные слова из набора букв, а не только те что состоят из того же количества букв.
Трудности: Сначала, чтобы не захламлять тело класса формы, решил методы-обработчики вынести в отдельный класс и уже потом их от туда вызывать. Но столкнулся с проблемой - элементы формы в классе не видны. 1) Было принято решение унаследовать класс от Form. В итоге ни к чему хорошему это не привело. Пришлось переписывать проект. 2)Далее было решено создать экземпляр класса Form1 в классе с методами. Элементы формы стали доступны и работа пошла веселее :). Но появилась другая проблема - доступ к методам класса из Form1. Так как родительский класс не статический - статический вызов обломался. 3) И опять в голову приходит "Гениальное решение" создать экземпляр класса с методами в Form1. Барабанная дробь .... и БИНГО!!!!! Доступ есть. И опять радость моя была не долгой. При запуске студия покрутила мне пальцем у виска и объяснила что я замутил бесконечный рекурсивный вызов из класса в класс. ********* Танцы с бубном ни чего не дали. И вернулся я к тому с чего начал - захламлению класса формы.
1) На уроке не рассмотрена вероятность того что буквы в словах могут оказаться разного регистра. 2)Палиндромы проще обработать реверсом, всего две строки кода (в принципе даже одна). А в общем - урок отличный!!!
Научился: Научился работать с файлами, узнал об объекте StringBuilder.
Трудности: Не запутаться с циклами для "сложного эрудита")
Всё-таки, подсчёт слов организовал через textWords.Lines.Count и привязал его к событию textChanged По-своему реализовал логику "сложного эрудита". при этом случайно сделал вариант "среднего" и соответственно их потом переименовал. Теперь "средний" отличается от "сложного" только предварительной проверкой на длину слова. Для контроля формирования анаграмм добавил ProgressBar, видимый только во время формирования текста. Игра в "города", скорее всего, отличается от описанной в уроке - за основу взял идею из урока.