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

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

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

  • Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного.
    На уроке мы ищем палиндромы, детские слова и анаграммы.
    Хорошее подспорье для игры Эрудит.
  • Дата отправки отчёта: 4 января 2015 г.
  • Задание выполнено: за 6 час. 00 мин.
  • Чему научился:
  • Что было сложным: Для возможности записи в файл новых слов и считывания их сразу пришлось открывать и записывать Stream потоком. Задал полный путь к файлу. Есть ли возможность задавать относительный путь? А лучше зашивать в ресурсы?
  • Комментарии: Добавлена возможность выборки слов для игры эрудит. (кнопка для Танюши. Учитывается количество одинаковых букв.)
    Добавлена возможность добавления слов в файл во время работы программы.
  • Оценка видео-уроку:
Отчёт от 3397 за Игры со словами / Игры со словами




Оцени работу

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

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Sergey  # Супер игры / Игры со словами / 2015-01-04 15:09

Это Танюша нарисована? Красиво!
Не нужно полный путь задавать, да, можно сразу относительный путь указывать - начинается оттуда, где находится exe файл.


  • Отчёт оценивали:
    4853Alexander Sidorov+1  

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




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

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

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

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