C# Professional

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

НаноШахматы

На этом фотокурсе мы создадим простой шахматный скрипт
для разбора позиций или для игры вдвоём.

План фотокурса:
1. Рисуем шахматную доску с фигурами на HTML+CSS+Unicode
2. Помещаем фигуры в массив и формируем доску на PHP.
3. Делаем перемещение фигур на JavaScript.

На фотокурсе в каждом уроке есть фотография, скриншот с кодом и результатом. Необходимо выполнять задания по картинкам, видео записей нет.



Хочу купить!

Купить в рассрочку за мегахеши

Цена: 500 p.


Список уроков | фото | видео

# Название видеоурока Решило Рейтинг Доступ
1 HTML - Шахматные фигуры 74 чел. ★ 4.9 Done
  Мы начинаем ФОТОКУРС по созданию игры "шахматы".
Здесь не будет видео, только картинки.

На первом уроке мы выведем все фигуры на экран.

Отчёт отправил: 7119. Новопашин Владимир Выполнено за 45 мин. [Показать отчёт]
Научился: Научился выводить шахматные фигурки в html. 
Сложности: Самым сложным было вспомнить в какую папку поместить файл index.php. 
Комментарии: Без вопросов 
2 CSS - Шахматная доска 67 чел. ★ 5 Done
  На этом уроке мы создадим файл стиля chess.css
для доски и белых/чёрных клеток.
Далее создадим HTML для всей доски.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 00 мин. [Показать отчёт]
Научился: Научился выводить шахматную доску с помощью css и html 
Сложности: Неправильно указал аттрибут в css - вместо background написал blackground.  
Комментарии: Доска есть осталось фигуры расставить. 
3 HTML - Фигуры на Доске 67 чел. ★ 5 Done
  На этом уроке мы совместим первые два урока и разместим все фигуры на доске.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт]
Научился: Расставлять шахматные фигуры с помощью html и css. 
Сложности: Ничего. 
Комментарии: --- 
4 PHP - Установка EasyPHP 22 чел. ★ 4.9 Done
  Далее для работы нам потребуется технология PHP.
Для этого можно скачать и установить EasyPHP.

Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт]
Научился: Ничего 
Сложности: Ничего 
Комментарии: --- 
5 PHP - Запуск скрипта 21 чел. ★ 5 Done
  На этом уроке мы запустим первый скрипт на РНР.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт]
Научился: Ничему 
Сложности: Ничего 
Комментарии: --- 
6 PHP - Циклы для клеток 58 чел. ★ 4.9 Done
  На этом уроке мы добавим щепотку РНР -
для вывода клеток будем использовать два вложенных цикла.
Функция ord() возвращает номер буквы/символа в таблице ASCII.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт]
Научился: Научился выводить шахматную доску. 
Сложности: Ничего. 
Комментарии: Вывел шахматную доску с координатами. 
7 PHP - Массив для фигур 48 чел. ★ 4.9 Done
  На этом уроке мы создадим массив шахматной доски.
И запишем в него начальное расположение фигур.
Каждая фигура обозначается одной буквой,
согласно нотации Форсайта — Эдвардса.

Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 04 мин. [Показать отчёт]
Научился: Научился выводить шахматную доску в цикле. 
Сложности: Я думал предыдущий html документ (который сделал в прошлом уроке) не понадобится и из-за этого возился очень долго. 
Комментарии: Вспоминаю php. 
8 PHP - Превращение букв 46 чел. ★ 5 Done
  На этом уроке мы напишем функцию GetFigureHTML,
которая будет переводить буквы фигур в HTML-коды.
Можно написать длинный и правильный код, либо короткий-хакерский вариант.
При выводе доски на экран нужно добавить вызов созданной функции.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт]
Научился: Научился выводить шахматные фигуры с помощью php. 
Сложности: Ничего. 
Комментарии: Вот теперь гораздо веселее выводить фигуры, чем с "голым" html. 
9 HTML5 - Поднятие фигур 42 чел. ★ 5 Done
  На этом уроке мы подготовим фигуры к переносу.
Для этого нам понадобятся возможности HTML 5.0 и JavaScript.
(1) Для переноса фигур нужно их поместить в отдельный блок span.
(2) Каждому span-блоку нужно выдать разрешение на перенос draggable.
(3) Каждому блоку нужно присвоить уникальный id-код, мы будем использовать координаты клеток.
После этого вы сможете хватать фигуру и таскать её по полю.

Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт]
Научился: Научился передвигать фигуры. 
Сложности: Почему -то в FireFox такая штука не срабатывает - вынужден был запустить Chrome. 
Комментарии: Теперь нужно, чтобы фигуры передвигались. 
10 JavaScript - Тронул? Коди! 40 чел. ★ 5 Done
  На этом уроке мы напишем функцию drag(), которая вызывается в самом начале переноса фигуры.
Цель этой функции - сохранить id-код span-объекта, в котором фигура расположена.
Эта информация нам понадобится при опускании фигуры.

Внимательно прочитайте все комментарии и протестируйте работу программы.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт]
Научился: Научился добавлять событие на блок span. 
Сложности: Ничего. 
Комментарии: Ждем самого интереснего. 
11 JavaScript - Посадку давай! 38 чел. ★ 5 Done
  Карлсон заметил, что во время таскания фигуры по доске всё время виден значок «стоянка запрещена».
Так происходит потому, что ни одна площадка не разрешает посадку нашей фигуре.
Чтобы разрешить посадку - нужно написать функцию allowDrop()
и вызывать её в атрибуте ondragover каждого divа на шахматной доске.
Теперь посадка будет разрешена, правда, пока ещё приземляться мы не умеем.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт]
Научился: Научился делать "посадка разрешена". 
Сложности: Ничего. 
Комментарии: Ничего. 
12 JavaScript - Завершение хода 36 чел. ★ 5 Done
  На этом уроке мы завершим посадку фигуры на новую клетку шахматной доски.
При отпускании фигуры происходит событие ondrop,
в атрибуте которого мы сделаем вызов функции drop().
Эта функция принимает событие event.
Нам опять нужно отменить действие по умолчанию и принять полученный объект.
Помните, мы сохраняли id-код span'a, фигуру которого мы переносим?
Теперь мы получаем этот код, чтобы получить доступ к span элементу.
На этот раз в event.target находится площадка приземления,
мы используем её метод appendChild() для размещения объекта.

Отчёт отправил: 7119. Новопашин Владимир Выполнено за 10 мин. [Показать отчёт]
Научился: Научился перемещать фигуры с одной клетки в другую. 
Сложности: Ничего. 
Комментарии: Все хорошо - можно в шахматишки играть, только как убирать битые фигуры? 
13 JavaScript - Я тебя съем! 00:02:54 36 чел. ★ 5 Done
  На этом уроке мы реализуем съедание фигур.
Для этого перед посадкой нам нужно проверить,
есть ли кто-нибудь на аэродроме? hasChildNodes()?
используем функцию removeChild() для его удаления.
Используем 0-ой номер для доступа к первому и единственному элементу.
ЗАДАНИЕ: Поставить мат и сделать скриншот.

Останется ещё один баг - если мы попробуем приземлить
фигуру на исходную клетку - она самоуничтожится.
Чтобы избежать этого добавим проверку -
если на площадке точно такая же фигура - то ничего делать не нужно.

Отчёт отправил: 7119. Новопашин Владимир Выполнено за 1 час. 10 мин. [Показать отчёт]
Научился: Научился перемещать и бить фигуры. 
Сложности: Поиграть с братом с помощью vk.com. 
Комментарии: Мат поставлен. 
14 ФИНАЛЬНЫЙ УРОК 30 чел. ★ 5 Done
  Мы с вами закончили создание нано Шахмат.
Для создания доски мы использовали следующие технологии:
HTML - для отображения доски
CSS - для оформления клеток
PHP - для формирования повторяющихся строк
JavaScript - для перемещения фигур.

Напиши в отчёте, понравился ли тебе этот миникурс,
что нового ты узнал, как ты ещё будешь дорабатывать свои шахматы.

Задание: Записать видео, на котором разыграть матовую комбинацию.

Какой курс ты будешь проходить следующим?
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт]
Научился: Этот курс проходится гораздо быстрее, на самом деле все очень просто на нем и поэтому он хорошо для новичков. 
Сложности: Было дело, что не правильно назвал классы для div и из-за этого вначале шахматная доска не выводилась - провозился 2 дня. 
Комментарии: Следующий курс логично взять мат конем и слоном. 
Видеообзор: https://youtu.be/HBa4rqKGThM
15 VIP. PHP - Создание картинки 39 чел. ★ 5 Done
  На этом уроке мы воспользуемся GD библиотекой
для создания картинки и рисования линий в РНР скрипте.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 20 мин. [Показать отчёт]
Научился: Научился рисовать фигуры в php 
Сложности: Ничего. 
Комментарии: --- 
16 VIP. PAINT - Координаты отрезков 40 чел. ★ 5 Done
  На этом уроке мы поработаем с программой MS Paint.
Запустите mspaint, можете включить сетку (в старых версиях не доступно).
Используя инструмент «Линия» нарисовать 2 или 3 буквы своих инициалов.
Выписать координаты каждой линии, для этого наведите мышку
на конец каждой линии и выпишите последовательно координаты всех отрезков.
Отчёт отправил: 7119. Новопашин Владимир Выполнено за 30 мин. [Показать отчёт]
Научился: Ничему - все до этого знал. 
Сложности: Ничего. 
Комментарии: Пока никаких таких откровений ко мне не пришло. 
17 VIP. PHP - Рисуем буквы 36 чел. ★ 5 Done
  На этом уроке мы нарисуем ваши инициалы в РНР.

Отчёт отправил: 7119. Новопашин Владимир Выполнено за 15 мин. [Показать отчёт]
Научился: Научился рисовать в php с помощью линию свои инициалы фамилии. 
Сложности: Ничего. 
Комментарии: Ура! Фотокурс завершен. 
  Итого:   17 видеоуроков общей продолжительностью 02 мин. 12 чел. ★ 4.98  
  Финалисты:   Сергей Соколов,   Новопашин Владимир,   Алексей В.,   Иван Воронин,   Кирилл Шмойлов,   Tekashnik,   Елена,   Константин,   Максим Лапшинов,   Дмитрий,   Николай Денисов,   Yefim .

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




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

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

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

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


Научился: На курсе познакомился с html, php, js, так как раньше дел с ними не имел. Очень понравилось. Шахматы можно было бы доработать, к примеру сделать так, чтобы фигуры одного цвета не съедали друг друга :) Следующим курсом пройду МикроШахматы.



Научился: работе с нодами, чилдренами и иже с ними при событиях перетаскивания объектов
Трудности: найти идеальное решение с переносом съеденых фигур в коробку
да, пришлось повозиться с формированием идеальной структуры элемента перед тем как положить его в коробку, то пустышки лезли, изза того, что пустые клетки на поле, всё же имеют ноды, просто они пустые, пришлось дописать доп. проверки для того, чтобы в коробку добавлялись теги только в том случае, если они имеют данные з.ы замечательный курс, много полезного для себя изучил, спасибо огромное, Евгений Витольдович, ко всем урокам подходите легко играючи =)