# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
Если есть файл из 27000 слов, то с его помощью можно сделать очень много интересного. На уроке мы ищем палиндромы, детские слова и анаграммы. Хорошее подспорье для игры Эрудит. Отчёт отправил: 7276. Ильшат Выполнено за 1 час. 50 мин. [Показать отчёт] Научился: 1) Метод File.ReadAllLines, который возвращает содержимое файла в виде массива строк. 2) Познакомился с классом StringBuilder, невооруженным глазом видна разница в производительности по сравнению с string при обработке больших строк. 3) Использование Linq. Сложности: Подробный урок, проблем не было. Комментарии: Хороший урок, емкий, много различных примеров игр со словами. От себя добавил простую игру – погуглил в интернете и выбрал игру "Слова-шифровки", где задается начальное слово и выполняется поиск по словам, которые начинаются из букв начального слова. Например, МИР => М - Мы, И - Ирина, Р - Ракета. Немного усложнил поиск слов, добавил рандомайзер и при каждом нажатии на кнопку формируются новый список слов. В коде решил поэкспериментировать, создать решение в функциональном стиле, чтобы яснее выразить мысли, без циклов и прочего. В С++ для этого есть алгоритмы, функторы(или для краткости и локальности лямбды). Искал что-то похожее в C#. Почитал msdn, нашел решении в нечто с названием Array.FindAll(array, predicate), где array это массив, predicate это условие. В общем, работает. Библиотека C# впечатляет, много возможностей, мне нравится. Спасибо за урок) |
|||||
2 | Виселка. Поле чудес |
2 теста |
|||
На этом уроке мы создадим аналог телеигры «Поле чудес» по правилам игры «Виселица». Нужно угадать слово за несколько попыток, с каждой ошибкой будет строиться виселица. Отчёт отправил: 7276. Ильшат Выполнено за 3 час. 50 мин. [Показать отчёт] Научился: 1) Создавать файлы ресурсов. 2) Загружать данные из файла, работать со списком строк. 3) Повторил работу с настройкой интерфейса программы. Сложности: Создать желаемый интерфейс программы. Комментарии: Данный урок ранее выполнял в предновогоднюю чашку кофе. Для закрепления решил создать новую программу. Написал с нуля, достаточно долго настраивал интерфейс. Целью было создать схожую внешне программу с предновогодней версией. Были проблемы с компоновкой, фоном, рамок вокруг меток. Я принципиально сделал упор на автоматическую компоновку объектов на форме, то есть, без ручного подсчета координат и размеров виджетов. Объекты сами рассчитывают свои размеры, а я лишь задаю описание, например, объект картинка "должен занимать весь левый угол формы", объект загадываемое слово "правую и верхнюю часть формы". В Windows Forms для этого используются Dock, Anchor, TableLayoutPanel. Вообще говоря, думаю следует копать в сторону максимальной изоляции кода формы от кода логики, напрягает их смешивание. На ум приходит использование декларативного описания элементов формы с помощью qml + javascript. Если не ошибаюсь, в C# для этого используется WPF. |
|||||
3 | Виселка. Блоксхема помощника |
|
|||
На этом уроке мы составим алгоритм бота для игры в Виселку. Бот будет перебирать все слова из списка, и составлять список из тех, которые подходят для ответа в игре. Потом алгоритм будет выбирать, какую именно букву лучше всего выбрать, то есть искать такую букву, которая встречается в большем количестве слов. (Схему для урока нарисовал Олег Лопухинский, 12 лет). Отчёт отправил: 7276. Ильшат Выполнено за 3 час. 40 мин. [Показать отчёт] Научился: Повторил работу с формой, созданием блок-схем. Сложности: Продумать и создать интерфейс программы. Комментарии: В уроке была идея расширить игру, добавить в нее код помощника для сообщения возможных комбинаций слов и подсказки следующей буквы. По предложенному алгоритму я написал свою реализацию, подсказки выводил в консоль. Алгоритм работал, все устраивало, но хотелось доработать. Поэтому я создал новую программу, отдельно от игры. Достаточно долго продумывал интерфейс бота. Остановился на таком решении: пользователь в верхней части формы с помощью списка combobox выбирает буквы и составляет искомый шаблон слова, там где буквы неизвестны устанавливает "." В средней части формы расположены кнопки, они необходимы для того, чтобы вводить в программу те буквы, которых нет в слове, то есть бот предложил букву, пользователь ее ввел в игру, а ее не оказалось в слове (на втором скриншоте это буквы О и Е). Для безопасности добавил синхронизацию ввода между верхними combobox и нажатыми кнопками, все можно сбросить, перенастроить, сменить длину слова. Внизу формы выводится список слов, рекомендуемая буква и кнопка запуска бота. Словарь использовал тот же самый, из игры. В итоге, доволен программой, бот значительно упрощает поиск слов. |
|||||
4 | Виселка. Алгоритм помощника |
|
|||
На этом уроке мы напишем бота для виселки. Нам очень поможет блоксхема, составленная на прошлом уроке. Когда помощник будет готов - поиграем несколько раз, чтобы убедиться - игра легко проходится каждый раз. Отчёт отправил: 7276. Ильшат Выполнено за 15 мин. [Показать отчёт] Научился: Повторил работу с формой, свойства объектов. Сложности: Не было. Комментарии: Программу написал в прошлом уроке, в этом без особых изменений. Как было предложено в уроке, добавил вывод дополнительной информации - количество найденных слов по шаблону и количество слов, в которых встречается рекомендуемая буква. |
|||||
5 | Сложение букв. Комбинаторика. |
|
|||
Существует серия головоломок на математическое выражение из букв, например: ШРАМ * Ы = ШРАМЫ БУЛОК + БЫЛО = МНОГО Как правило в этих примерах каждой букве соответствует одна цифра. Одинаковым буквам одинаковые цифры, разным буквам - разные цифры. Необходимо решить эту головоломку, то есть разгадать, какой был пример. Для решения этих задач комбинаторика так и напрашивается. Первую задачу мы решим первым способом, через вложенные циклы. Вторую задачу вторым способом, через рекурсию. |
|||||
6 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю с завершением курса! Напиши, пожалуйста, отзыв об этом видеокурсе. |
|||||
7 | Бот для игры БАЛДА |
|
|||
Используя текстовый файл из 27400 слов создаём рекурсивный алгоритм подбора слов для игры Балда.
Отчёт отправил: 7276. Ильшат Выполнено за 2 час. 30 мин. [Показать отчёт] Научился: 1) Коллекция Dictionary. 2) Применение рекурсии при поиске слов, оптимизация поиска. Сложности: Рекурсивная функция search. Комментарии: Интересная получилась программа. Провел ее испытания по примеру Евгения Витольдовича, для этой цели завел себе почту на mail.ru, нашел ту игру и выиграл) Спасибо) |
|||||
Итого: 7 видеоуроков |
5 час. 26 мин. 3 теста |
22 чел. | |||
Финалисты: Tekashnik, Новопашин Владимир, Алексей Малышев, Александр, Denis, Иван, aleksey-k, Сергей Стефаненко, Николай Денисов, Permitin Alexey, Alexander Sidorov, Bazel, Progresir, Денис, Алексей|BrisK|Кривицкий, chokayes, no name, superGrover, Дмитрий, Нина, Tim, MaxB . |