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

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

Шахматы по сети / Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК

  • На этом уроке мы исправим одну ошибку и добавим ещё один вариант метода GetFigureAt(string xy).
    Ваше задание - записать подробный отзыв об алгоритмической части проекта.
  • Дата отправки отчёта: 31 марта 2018 г.
  • Задание выполнено: за 44 мин.
  • Чему научился: Дополнили функцию Chess Move запретом хода под шах, а также сделали перегрузку метода GetFigureAt, позволив задавать координаты клетки не только в виде [x][y], но и строковой переменной в виде "g2".
  • Что было сложным: Реализацию алгоритмов постоянно сравнивал с реализацией в курсе "Микрошахматы". На джаваскрипт все функции были реализованы последовательно, без применения классов, в основном, через связку условного оператора "if-else" c булевыми переменными. "Рулонный" вариант реализации кода, т.е., весь код идет непрерывно и последовательно, т.е. процедурное программирование.

    В случае "Клиент-серверных шахмат" мы уже задействовали десяток классов, где весь код разделили на логические блоки, в каждом из которых реализуем только определенную часть - параметры самой доски, цвет, все возможные фигуры, правила передвижения каждой из фигур и т.п. В данном случае это уже пример полноценного применения объектно-ориентированного программирования, при котором весь код разбивается на удобные логические блоки, имеет четкую иерархию классов и понятную структуру. При этом код становится более читабельным, и мы имеем возможность в любой момент дорабатывать и дополнять любой из блоков, без необходимости просмотра всего объема кода.

    Планирую использовать существующую модель структурирования и иерархии классов в качестве образца при создании своей игры.
  • Оценка видео-уроку:
Отчёт от 4814 за Шахматы по сети / Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК


Отчёт от 4814 за Шахматы по сети / Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Шахматы по сети / Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК / 2018-03-31 10:53

Дима, хочу предостеречь тебя от такого вывода.
Как видишь, шахматы мне не удалось сразу написать по всем канонам ООП.
Сначала были Микрошахматы, потом Мато конём и слоном, только сейчас мне удалось создать красивую ООП модель шахматных правил, хотя и тут есть место рефакторингу.
Рекомендую начать создавать игру с минимальным количеством классов, но "процедурным" способом, так как он более понятен. И уже когда будет работать - начать рефакторить. Этому процессу посвящены последние уроки настоящего курса.


4814. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов  # Шахматы по сети / Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК / 2018-03-31 11:06

Да я понимаю. Я говорю просто о самом структурировании, способе планирования игры с нуля и ее постепенном наполнении. Для ООП и рефакторинга у меня попросту нет базовых знаний, о многих понятиях в рамках курса вроде Yield и многом другом впервые слышу. Unity, ASP, SQL, EF - это все незнакомо. А вот разбиение по классам и взаимосвязь между ними - это можно использовать.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Шахматы по сети / Алгоритмы. ТРЕТИЙ ФИНАЛЬНЫЙ УРОК / 2018-04-01 01:37

Молодец, поздравляю с завершением очередной части курса. По поводу подхода к реализации игры в данном курсе согласен, но тут тоже не сразу чистое ООП идёт, в последней части курса как раз последние штрихи по поводу модернизации кода по канонам ООП, последние штрихи, но нет предела совершенству. Так что для самостоятельных доработок осталось очень много места. У меня лично на счёт этого курса свои взгляды и я буду реализовывать часть взаимосвязей именно так, как нужно конкретно мне, MSSQL к примеру, не зацепил, до сих пор считаю MySQL лучшей БД для онлайн проектов. Удачи в прохождении и реализации своей игрушки.


  • Отчёт оценивали:
    Посетитель+1   4814Дмитрий+1   16880Константин+1   6452Кирилл Шмойлов+1   17443WildOrc+1   1Евгений Волосатов+1   8932Алекс+1   13417Chip+1   791Валерий Жданов+1   10558Иван Воронин+1   9156Dimon+1   16218Дмитрий+1   11582Родион+1   689Igorenzia+1   9323Алексей+1   9980Timoha+1   10494Алексей В.+1   16066Bodrik_torf+1   459Сергей Сергеевич+1   3922Александр+1   4395Денис+1   3747Сергей+1   8275Tekashnik+1  

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





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: Отличный курс ! Много чему научил. Было много опечаток, но видимо ошибки учат программированию. Спасибо !



Научился: Отличный курс, все очень понравилось! Видно, что автор очень старался разрабатывая каждый алгоритм. Большое спасибо!