# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
|
|||
Мы начинаем видеокурс "Мат конём и слоном". Цель курса - создать базу решений этой задачи. То есть для любой исходной комбинации найти правильный ход, который ведёт к победе. Отчёт отправил: 8275. Tekashnik Выполнено за 15 мин. [Показать отчёт] Научился: Ставить мат Сложности: Ставить мат Комментарии: Мне кажется все позиции, либо нереальные либо стандартные |
|||||
2 | Перебор всех комбинаций |
|
|||
На этом уроке мы создадим вложенные циклы для перебора всех возможных вариантов расстановки наших фигур на шахматной доске. Отчёт отправил: 8275. Tekashnik Выполнено за 36 мин. [Показать отчёт] Научился: Искать количество комбинаций Сложности: не запутаться в сокращениях Комментарии: Любопытно посмотреть на окончательный алгоритм |
|||||
3 | Королевское правило |
|
|||
На этом уроке мы проверим, стоят ли короли на соседних клетках. Потом мы напишем заготовку для проверки, является ли позиция матовой. Самостоятельное задание - написать функцию onKnight(). При желании написать проверку для слона пока писать не нужно. Отчёт отправил: 8275. Tekashnik Выполнено за 43 мин. [Показать отчёт] Научился: Ходить конём Сложности: Придумать, что было самым сложным Комментарии: Нужно какую то наглядность привнести в проект)) а то получаем числа, и всё |
|||||
4 | Конь ходит буквой Гэ |
|
|||
На этом уроке мы напишем метод, который проверяет, рубит ли конь указанное поле. Алгоритм не сложный. Самостоятельное задание: почитать о Нотации Форсайта — Эдвардса на Википедии. Написать метод формирования этой нотации по имеющимся координатам четырёх фигур. Сайт для чтения FEN: http://www.apronus.com/chess/wbeditor.php Отчёт отправил: 8275. Tekashnik Выполнено за 56 мин. [Показать отчёт] Научился: Читать нотацию Сложности: Писать функцию getFEN Комментарии: Но я её всё таки написал)) можно упростить, но циклы очень конечные, так что времени это тратит совсем мало |
|||||
5 | Нотация Форсайта - Эдвардса |
|
|||
На этом уроке мы научимся экспортировать найденные позиции в FEN код, чтобы посмотреть их в любом шахматном эмуляторе. Сайт для чтения FEN: http://www.apronus.com/chess/wbeditor.php Самостоятельное задание: Написать метод проверки для слона, бьёт ли он поле. Отчёт отправил: 8275. Tekashnik Выполнено за 39 мин. [Показать отчёт] Научился: Получать все FEN позиции для искомых фигур Сложности: Было очень интересно Комментарии: Уху) Визуализация)) |
|||||
6 | Ворошиловский слон |
|
|||
На этом уроке мы напишем наконец-таки метод bool onBishop (byte x, byte y) и подсчитаем количество матовых позиций. А в конце урока блеснём использованием итератора :) Самостоятельное задание: придумать структуру для хранения найденных позиций и описать её в комментариях к отчёту. Отчёт отправил: 8275. Tekashnik Выполнено за 49 мин. [Показать отчёт] Научился: Писать функцию OnBishop Сложности: Написать функцию onBishop Комментарии: Для храненения может SQLite использовать, имхо там всё заточено под хранение и быстрый доступ и файл один. |
|||||
7 | Две структуры |
|
|||
На этом уроке мы подготовимся к рефакторингу нашего кода.
Отчёт отправил: 8275. Tekashnik Выполнено за 29 мин. [Показать отчёт] Научился: Создавать структуры Сложности: Удалять написанный код Комментарии: Рефакторинг всегда маст хэв. |
|||||
8 | Рефакторинг кода |
|
|||
На этом уроке мы сделаем рефакторинг всего кода. В конце урока будем искать ошибку :) Отчёт отправил: 8275. Tekashnik Выполнено за 43 мин. [Показать отчёт] Научился: Рефакторить программу без ошибок Сложности: Найти свою ошибку у меня было 100121 комбинаций + организовать вывод информации Комментарии: Нашёл ошибку быстро, видимо у вас другие ошибки, я рефакторил в полглаза глядя на видео, просто конву слушал, видимо поэтому и не сделал ваших ошибок, а сделал свою. А getFen просто тупо перенес. правдо пришлось подумать как их выводить в основной программе, но всё таки дошло)) |
|||||
9 | Чистый ход |
|
|||
На этом уроке мы перенесём метод getBoard() и getFEN() в структуру Combo, найдём последнюю ошибку и порадуемся чистому коду! Отчёт отправил: 8275. Tekashnik Выполнено за 24 мин. [Показать отчёт] Научился: Разделять методы Сложности: Всё уже почти было сделано) Комментарии: Что с алгоритмом поиска матовой комбинации не вышло... |
|||||
10 | Псевдо-алгоритм перебора |
|
|||
На этом уроке мы составим псевдо-алгоритм поиска всех решений поставленной задачи. Самостоятельное задание - проработать алгоритм на шахматной доске для ферзя и короля. Отчёт отправил: 8275. Tekashnik Выполнено за 43 мин. [Показать отчёт] Научился: Рисовать блок-схему Сложности: Рисовать блок-схему Комментарии: Это очень полезная штука на этапе планирования/проектирования программы, но так лень всё это делать |
|||||
11 | Белая и чёрная очередь |
|
|||
На этом уроке мы начнём реализацию алгоритма перебора всех позиций с правильными ходами за белых. Создадим ещё две структуры и две очереди - белую и чёрную. Отчёт отправил: 8275. Tekashnik Выполнено за 45 мин. [Показать отчёт] Научился: Писать кучу серьёзного кода Сложности: Не потерять нить рассуждений Комментарии: Сам что то пока думаю не осилю эти функции, мозг закипает под конец рабочей недели... |
|||||
12 | Генерация белых ходов |
|
|||
На этом уроке мы напишем три метода, которые возвращают все возможные ходы для каждой белой фигуры - для короля, слона и коня. В конце урока выведем все позиции, в которых белые ставят мат в один ход. Отчёт отправил: 8275. Tekashnik Выполнено за 58 мин. [Показать отчёт] Научился: Писать функции ходов фигур Сложности: Не потерять нить рассуждений, наворочено уже много Комментарии: Написал функцию print(); После визуализации нашёл пару ошибок. Сначала доска лежала на боку, потом слон ходил в поле короля. Но с помощью визуализации все ошибки подчистил) |
|||||
13 | Белая коробка |
|
|||
На этом уроке мы создадим класс WhiteBox для хранения всех позиций, где ход белых с правильным ходом для приближения к мату. Отчёт отправил: 8275. Tekashnik Выполнено за 32 мин. [Показать отчёт] Научился: Создавать класс всех полей Сложности: Разобраться, что к чему и отчего Комментарии: Вот это серъёзное движение) |
|||||
14 | Консольная шахматная доска |
|
|||
На этом уроке мы напишем метод print() для вывода шахматной доски в консоли. Отчёт отправил: 8275. Tekashnik Выполнено за 6 мин. [Показать отчёт] Научился: Выводить в консоль доску Сложности: Придумывать, что было самым сложным Комментарии: Ну это я уже 2 урока назад сделал |
|||||
15 | 156 матов в полтора хода |
|
|||
На этом уроке мы допишем алгоритм, узнаем, какая в нём есть ошибка, исправим её и найдём все позиции "мат в полтора хода", их будет 156. Отчёт отправил: 8275. Tekashnik Выполнено за 47 мин. [Показать отчёт] Научился: Искать все матовые позиции в один ход Сложности: понять все закономерности кода Комментарии: Хорошо замешаный код) |
|||||
16 | Мат в 33 хода. |
|
|||
На этом уроке мы поместим два цикла в один общий цикл, чтобы сгенерировать решения для всех позиций, постепенно увеличивая дистанцию до матового окончания. Что ещё можно и нужно сделать. 0. Проверить, нет ли патовых ситуаций. 1. Пересмотреть все позиции, для которых нет решения. 2. Изменить массив белого ящик, координата слона от 0 до 31. 3. Модифицировать алгоритм, чтобы он работал для чернопольного слона. 4. Сделать симметрию относительно белого короля в квадрате 4х4. 5. Пересмотреть самые сложные позиции - мат в 67 полуходов. 6. Придумать эффективный способ хранения для белого ящика. 7. Решить задачу "мат двумя слонами". 8. Решить задачу "мат ладьёй". 9. Решить задачу "мат ферзём". Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 27 мин. [Показать отчёт] Научился: Находить решения любых позиций для слона коня и королей Сложности: Сложно представить, какая гора информации перелопачивается для такого поиска Комментарии: Посмотрел, самыес сложные позици из которых мат в 33 хода, весёлинькие |
|||||
17 | ПОЛУФИНАЛЬНЫЙ УРОК |
без видео |
|||
Поздравляю, ты прошёл ровно половину курса! Приложи фото самых интересных найденных матовых/патовых/иных комбинаций Напиши, нравится ли тебе этот курс, нашёл ли ты здесь то, что ожидал. ... Меж тем сказке далеко до развязки ... Отчёт отправил: 8275. Tekashnik Выполнено за 31 мин. [Показать отчёт] Научился: Печатать Сложности: Сложно это всё представить, и разобрать в мозгу по винтику, этот серьёзный алгоритм Комментарии: Курс добротный, можно теперь пробовать писать компьютерный алгоритм игры в шахматы) Понравись некоторые подходы к решению поставленых задач ну и конечно же организация и манипуляция с большим количеством данных. Но впереди ещё много интересного, и не побоюсь этого слова, крайне полезного материала) Но для новичков я бы не рекомендовал в некоторых местах мозг начинает кипеть. Всем добра) |
|||||
18 | Нано Шахматы |
|
|||
На этом уроке вам будет представлен фотокурс НаноШахматы, который необходимо пройти, для эффектного и логичного завершения этого курса. Отчёт отправил: 8275. Tekashnik Выполнено за 10 мин. [Показать отчёт] Научился: Вспомнил про веб шахматы Сложности: Найти уже сделаный курс по Нано-шахматам Комментарии: Все пункты нано шахмат уже сделаны) Весёлый был курс |
|||||
19 | Сериализация матрицы ходов |
|
|||
На этом уроке мы сделаем сериализацию и десериализацию массива WhiteMove[,,,]. Затем обсудим, как можно размер файла уменьшить в 100 раз. Отчёт отправил: 8275. Tekashnik Выполнено за 34 мин. [Показать отчёт] Научился: Научился делать сериализацию Сложности: Придумывать, что было самым сложным Комментарии: ПОлезно знать, что есть такая штука как сериализация |
|||||
20 | Экономия памяти |
|
|||
На этом уроке мы переделаем класс WhiteBox, теперь для его работы потребуется в несколько раз меньше памяти. Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 12 мин. [Показать отчёт] Научился: Сокращать расход памяти в программе Сложности: В могзу проворачивать все эти бесчисленные преобразования Комментарии: Написал Save() но получилось у меня 280 Mb, не мастер я сохранения данных, ждём следующего урока, дабы посмотреть, как оно это у профессионалов бывает) |
|||||
21 | Шестнадцать мегабайт |
|
|||
На этом уроке мы сохраним базу ходов в 16-мегабайтный файл. Также сделаем считывание из файла и несколько раз поиграем с компьютером, пока он нас не заматует. Отчёт отправил: 8275. Tekashnik Выполнено за 50 мин. [Показать отчёт] Научился: Смотреть длинное видео Сложности: Сложным было сидеть и смотреть ЗАПИСЬ уроку, а подсказать возможности нет((( Комментарии: Я весь извёлся глядя видео, ведь я с данной проблемой по пустому файлу столкнулся на прошлом уроке когда сам делал запись просто в текстовый файл. ТОже мучался, но нашёл причину и тут то же самое! Очень хотелось помочь подсказать, но увы и ах я смотрю в записи. И тут я в полной мере осознал что живой вебинар гораздо круче чем запись. По поводу неправильных ходов, вы когда первый раз убрали цикл, то изменили переменную find = true, а когда раскомментировали цикл, то уже переменную обратно в false не вернули... тоже очень хотелось подсказать, но, как я уже говорил, увы и ах... |
|||||
22 | Игра без массива |
|
|||
На этом уроке мы ещё раз переделаем класс WhiteBox, теперь для работы программы НЕ НАДО будет загружать в память весь файл, нужные значения будут загружаться по ходу игры прямо из нужного места в файле. Отчёт отправил: 8275. Tekashnik Выполнено за 39 мин. [Показать отчёт] Научился: Читать данные из бинарного файла) Сложности: Понять как именно он выцепляет из бинарного файла данные Комментарии: Всем добра, всё очень круто. |
|||||
23 | План визуализации |
|
|||
С этого урока мы начнём создавать визуализацию созданной базы данных. На этом уроке мы составим план действий по внедрению проекта. Мы будем работать с технологиями PHP и JavaScript. Отчёт отправил: 8275. Tekashnik Выполнено за 13 мин. [Показать отчёт] Научился: Проектировать визуализацию проекта Сложности: Придумывать, что было самым сложным Комментарии: Уже делал Нано шахматы |
|||||
24 | Четыре фигуры на доске |
|
|||
На этом уроке мы реализуем первые три пункта нашего плана. 1. Отобразить шахматную доску с 4 фигурами. 2. Отобразить доску по заданному FEN-коду. 3. Разместить тексты для отображения информации. Отчёт отправил: 8275. Tekashnik Выполнено за 46 мин. [Показать отчёт] Научился: Писать php-функции Сложности: Писать php-функции Комментарии: Тяжеловато с php приходится вникать) |
|||||
25 | Создание PHP функций |
|
|||
На этом уроке мы погрузимся в РНР-программирование. Мы напишем несколько функций для считывания данных из нашей базы данных ходов и формирования их в массиве. Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 23 мин. [Показать отчёт] Научился: Писать php-функции Сложности: Не запутаться в их многообразии Комментарии: Мне нравится) |
|||||
26 | Дружба PHP с JavaScript |
|
|||
На этом уроке мы подружим PHP с JavaScript - сделаем вызов из JavaScript функции на PHP, результат которой будет возвращён назад в JavaScript. Отчёт отправил: 8275. Tekashnik Выполнено за 56 мин. [Показать отчёт] Научился: Перевязывать php - JS - php - JS Сложности: Не запутаться, реально опыта с php и js мало, нужно следить. На C# можно в полглаза смотреть и писать, а тут так не получается(( Комментарии: Очень нравится, что уже не в первом курсе рассматриваются php и js. Программер должен везде уметь)) |
|||||
27 | Сериализация Json |
|
|||
На этом уроке мы передадим из РНР в JavaScript всю информацию о белых и чёрных хода, используя json-сериализацию. Используя полученный объект мы сформируем содержание информационной панели. Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 12 мин. [Показать отчёт] Научился: погрузился в хитросплетения JS и PHP Сложности: Не запутаться и всё уловить Комментарии: Я уже давненько заметил косячок, но не понимал как это исправить, но теперь понял floor($combo[1] / 2) всё поправил))) ура! ура! ура! |
|||||
28 | Чёрные ходы на доске |
|
|||
На этом коротком уроке мы отобразим все возможные ходы чёрного короля прямо на доске, используя числа - сколько ходов до мата останется при указанном ходе. Отчёт отправил: 8275. Tekashnik Выполнено за 16 мин. [Показать отчёт] Научился: Продолжил изучение JS с PHP Сложности: Придумывать, что было самым сложным Комментарии: Красиво получилось |
|||||
29 | Последний ход |
|
|||
На этом уроке мы закончим программирование визуального оформления мата конём и слоном с использованием технологий PHP и JavaScript. Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 21 мин. [Показать отчёт] Научился: Продолжаю изучать php + JS Сложности: Все эти кавычки и теги))) Комментарии: Просто лес из всяких кавычек, плюсов, тегов... смотришь и в глазах рябит. Что кстати случилось со звёздочками (которыми оценку уроку ставим, они пропадают, когда на них наживаешь) |
|||||
30 | Чёрно-белый слон |
|
|||
На этом уроке мы доведём до логического завершения функцию работы с нашей базой данных, чтобы она корректно отрабатывала позиции с чёрнопольным белым слоном. Это оказалось не так уж и сложно :) Отчёт отправил: 8275. Tekashnik Выполнено за 37 мин. [Показать отчёт] Научился: Продолжаю погружаться в JS + PHP Сложности: Искать ошибки в php Комментарии: Я честно рад, что прошёл данный курс, он мощный! Совсем новичкам наверное будет очень тяжело |
|||||
31 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
Отчёт отправил: 8275. Tekashnik Выполнено за 43 мин. [Показать отчёт] Научился: Записывать видеообзор Сложности: Записывать видеообзор Комментарии: Крутой курс, сложный! С хитрыми переплетениями разных технологий + для любителей шахмат можно много чего узнать) и в конце создать искусственный интеллект. Видеообзор: https://youtu.be/ZbSf0DqD44c |
|||||
32 | VIP урок с ладьёй |
|
|||
На этом VIP-уроке мы решим шахматную задачу "Мат ладьёй". Для этого мы пройдёмся по всем функциям, файлам и скриптам и слегка модифицируем их для решения новой задачи. Отчёт отправил: 8275. Tekashnik Выполнено за 1 час. 23 мин. [Показать отчёт] Научился: Переделывать ПО под определённые нужды Сложности: Не упусть ничего Комментарии: Всё понравилось, спасибо за курс. Очень полезные разные решения разных ситуаций были расмотрены. Мне понравилось |
|||||
Итого: 32 видеоурока |
12 час. 27 мин. |
6 чел. | |||
Финалисты: Tekashnik, Алексей, Алексей В., Иван Воронин, Andrew, MaxB . |