C# Professional

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

НаноШахматы

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

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

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



Хочу купить!

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

Цена: 500 p.


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

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

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

Отчёт отправил: 1947. Denis Выполнено за 5 мин. [Показать отчёт]
Научился: кодам шахматных фигур 
Сложности: ничего 
Комментарии: Начало положено. Едем дальше. 
2 CSS - Шахматная доска 67 чел. ★ 5 Done
  На этом уроке мы создадим файл стиля chess.css
для доски и белых/чёрных клеток.
Далее создадим HTML для всей доски.
Отчёт отправил: 1947. Denis Выполнено за 15 мин. [Показать отчёт]
Научился: рисовать шахматную доску 
Сложности: ничего 
Комментарии: не сразу увидел, что забыл поставить закрывающий > , и из-за этого не рисовалась доска. А так все пока легко. Идем дальше. 
3 HTML - Фигуры на Доске 67 чел. ★ 5 Done
  На этом уроке мы совместим первые два урока и разместим все фигуры на доске.
Отчёт отправил: 1947. Denis Выполнено за 10 мин. [Показать отчёт]
Научился: расставлять фигуры 
Сложности: ничего 
Комментарии: пока что легко. Идем дальше. 
4 PHP - Установка EasyPHP 22 чел. ★ 4.9 $
  Далее для работы нам потребуется технология PHP.
Для этого можно скачать и установить EasyPHP.
5 PHP - Запуск скрипта 21 чел. ★ 5 $
  На этом уроке мы запустим первый скрипт на РНР.
6 PHP - Циклы для клеток 58 чел. ★ 4.9 Done
  На этом уроке мы добавим щепотку РНР -
для вывода клеток будем использовать два вложенных цикла.
Функция ord() возвращает номер буквы/символа в таблице ASCII.
Отчёт отправил: 1947. Denis Выполнено за 5 мин. [Показать отчёт]
Научился: -- 
Сложности: не могу понять в чем ошибка. Пишу все как в уроке, результат на скриншоте. 
Комментарии: Подскажите в чем проблема!? 
7 PHP - Массив для фигур 48 чел. ★ 4.9 Done
  На этом уроке мы создадим массив шахматной доски.
И запишем в него начальное расположение фигур.
Каждая фигура обозначается одной буквой,
согласно нотации Форсайта — Эдвардса.

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

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

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

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

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

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

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

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

Какой курс ты будешь проходить следующим?
Отчёт отправил: 1947. Denis Выполнено за 20 мин. [Показать отчёт]
Научился: Размышлять 
Сложности: ничего 
Комментарии: Фотокурс "Наношахматы" мне понравился. Задания были легкими, не вызывающими вопросов. Мы шаг за шагом изучили основы javascript, css, php. Хоть шахматы получились недоделанными, я считаю курс выполняет свою цель. Дальше можно ограничить движение фигур, задать им правила, чтобы они не перемещались с одного конца поля на другое. Чтобы не перепрыгивали через фигуры. Далее можно добавить, чтобы нельзя было съесть фигуры своего цвета. Необычная форма подачи материала порадовала. Комментарии на картинках полные. Вообщем, я не пожалел, что прошел этот курс, освежил в памяти веб-программирование.  
15 VIP. PHP - Создание картинки 38 чел. ★ 5 Done
  На этом уроке мы воспользуемся GD библиотекой
для создания картинки и рисования линий в РНР скрипте.
Отчёт отправил: 1947. Denis Выполнено за 40 мин. [Показать отчёт]
Научился: рисовать фигуры на php 
Сложности: подобрать координаты для букв 
Комментарии: интересный урок. Прямо Visual basic на php =) 
16 VIP. PAINT - Координаты отрезков 39 чел. ★ 5 Done
  На этом уроке мы поработаем с программой MS Paint.
Запустите mspaint, можете включить сетку (в старых версиях не доступно).
Используя инструмент «Линия» нарисовать 2 или 3 буквы своих инициалов.
Выписать координаты каждой линии, для этого наведите мышку
на конец каждой линии и выпишите последовательно координаты всех отрезков.
Отчёт отправил: 1947. Denis Выполнено за 10 мин. [Показать отчёт]
Научился: == 
Сложности: ничего 
Комментарии: я не стал использовать paint. На прошлом уроке уже нарисовал свои инициалы, методом подбора, прямо в php. 
17 VIP. PHP - Рисуем буквы 35 чел. ★ 5 $
  На этом уроке мы нарисуем ваши инициалы в РНР.
  Итого:   17 видеоуроков общей продолжительностью 02 мин. 11 чел. ★ 4.98  
  Финалисты:   Сергей Соколов,   Новопашин Владимир,   Алексей В.,   Иван Воронин,   Кирилл Шмойлов,   Tekashnik,   Елена,   Константин,   Максим Лапшинов,   Дмитрий,   Николай Денисов .

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




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

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

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

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