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

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

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

  • Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного.
    На уроке мы ищем палиндромы, детские слова и анаграммы.
    Хорошее подспорье для игры Эрудит.
  • Дата отправки отчёта: 24 декабря 2015 г.
  • Задание выполнено: за 5 час. 59 мин.
  • Чему научился: Если честно - то многому.
    1)Программу делал не пошагово по видеокурсу, а самостоятельно после просмотра курса. Так что пришлось подумать, и в ходе написания алгоритмов нашёл много нового для себя.
    ")Было добавлено открытие файла со словарём. Теперь можно в любой момент загрузить другой словарь.
    Слова обрабатываются независимо от регистра.
    3)В "Городах" окончания на Ь Ы Ъ игнорируются, берётся предыдущая буква. Й считается за И. При каждом старте первое слово выбирается рандомно.
    4) Сложный эрудит так же доработан. Теперь он составляет все возможные слова из набора букв, а не только те что состоят из того же количества букв.
  • Что было сложным: Сначала, чтобы не захламлять тело класса формы, решил методы-обработчики вынести в отдельный класс и уже потом их от туда вызывать. Но столкнулся с проблемой - элементы формы в классе не видны.
    1) Было принято решение унаследовать класс от Form. В итоге ни к чему хорошему это не привело. Пришлось переписывать проект.
    2)Далее было решено создать экземпляр класса Form1 в классе с методами. Элементы формы стали доступны и работа пошла веселее :). Но появилась другая проблема - доступ к методам класса из Form1. Так как родительский класс не статический - статический вызов обломался.
    3) И опять в голову приходит "Гениальное решение" создать экземпляр класса с методами в Form1. Барабанная дробь .... и БИНГО!!!!! Доступ есть. И опять радость моя была не долгой. При запуске студия покрутила мне пальцем у виска и объяснила что я замутил бесконечный рекурсивный вызов из класса в класс.
    *********
    Танцы с бубном ни чего не дали. И вернулся я к тому с чего начал - захламлению класса формы.
  • Комментарии: 1) На уроке не рассмотрена вероятность того что буквы в словах могут оказаться разного регистра.
    2)Палиндромы проще обработать реверсом, всего две строки кода (в принципе даже одна).
    А в общем - урок отличный!!!
  • Архив проекта: Ссылка доступна после самостоятельного выполнения этого урока
  • Оценка видео-уроку:
Отчёт от 6525 за Игры со словами / Игры со словами


Отчёт от 6525 за Игры со словами / Игры со словами




Оцени работу

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

6391. --
Владимир
Владимир
ответить
→  Дмитрий  # Чашка кофе / Игры со словами / 2015-12-24 22:21

Хорошо прокачался ;)


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Чашка кофе / Игры со словами / 2015-12-24 23:58

Дмитрий. Для решения этой задачи можно в твой класс при создании передать ссылку на текстбокс. И тогда методы смогут добавлять в него значения.


6525. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов  # Чашка кофе / Игры со словами / 2015-12-25 06:26

Евгений, спасибо за подсказку. Сегодня попробую.


2204. --
sergeyvbo
sergeyvbo
ответить
→  Дмитрий  # Чашка кофе / Игры со словами / 2015-12-25 09:01

Тоже думал о том, чтобы решать задачи не параллельно с видео, а самостоятельно, после просмотра видео. Так и с пути не собъешься, и придется самому код попридумывать. Хорошая идея.


791. --
Валерий Жданов
Валерий Жданов
ответить
→  Дмитрий  # Чашка кофе / Игры со словами / 2015-12-25 18:49

Барабанная дробь... и ... мой вердикт: Дима - молодец!


2146. --
Иван
Иван
ответить
→  Дмитрий  # Чашка кофе / Игры со словами / 2015-12-25 19:07

Здорово поработал! Хорошо, когда не просто копируешь, а еще и свое реализуешь! Молодчина!


8. --
Василевская Елена
Василевская Елена
ответить
→  Дмитрий  # Чашка кофе / Игры со словами / 2015-12-25 20:37

Дима, ты молодец! Отлично разобрался с уроком.  И методом проб и ошибок добрался до истины. УРА!!!



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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

Ты в любой момент сможешь отписаться от рассылки.


Так как там одинаковые конструкции обработки слов у первых 3 кнопок, я вынес это все в функцию и передавал делегат. На мой взгляд это рациональнее. В целом, спасибо за урок)


Трудности: Для возможности записи в файл новых слов и считывания их сразу пришлось открывать и записывать Stream потоком. Задал полный путь к файлу. Есть ли возможность задавать относительный путь? А лучше зашивать в ресурсы?
Добавлена возможность выборки слов для игры эрудит. (кнопка для Танюши. Учитывается количество одинаковых букв.) Добавлена возможность добавления слов в файл во время работы программы.