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

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

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

Шахматы по сети / Алгоритмы. Шах и Мат!

  • Мы заканчиваем написание шахматных алгоритмов.
    На этом уроке мы реализуем возврат ситуации на доске.
  • Дата отправки отчёта: 18 мая 2018 г.
  • Задание выполнено: за 1 час. 31 мин.
  • Чему научился: Изящный алгоритм шаха, мата и пата :) Правда, мне кажется, что для полного понимания всех алгоритмов надо будет потом переделать всё самому, а то когда следуешь за учителем, то не в полной мере понимаешь, почему сделано именно так, а не иначе, чем когда приходишь к такому решению сам.
  • Оценка видео-уроку:
Отчёт от 10080 за Шахматы по сети / Алгоритмы. Шах и Мат!


Отчёт от 10080 за Шахматы по сети / Алгоритмы. Шах и Мат!




Оцени работу

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

10558. --
Иван Воронин
Иван Воронин
ответить
→  FireWolf  # Шахматы по сети / Алгоритмы. Шах и Мат! / 2018-05-19 07:21

Это потому что ты обучаешься, поэтому может что-то быть не понятным. Перепройдя курс ещё пару раз, ты наконец вкусишь фишку алгоритмов, но добавив щепотку своего опыта и на выходе МОЖЕТ получиться куда более оптимизированный и лучший алгоритм. Основная фишка, это естественно понимать мысль и тогда кодить проще и даже по своему можно. Главное, чтобы на выходе было то, что и задумывалось =)
з.ы.

function (a = 2, b = 2) {
return a * b;
}

function (a = 2, b = 2) {
num = 0;
for (i = 0; i < a; i++)
num + b;
return num;
}

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


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Иван Воронин  # Шахматы по сети / Алгоритмы. Шах и Мат! / 2018-05-21 18:10

Там надо += написать.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Евгений Волосатов  # Шахматы по сети / Алгоритмы. Шах и Мат! / 2018-05-21 18:29

точно, забыл равно добавить, ну главное мысль поняли =)


  • Отчёт оценивали:
    6452Кирилл Шмойлов+1   10895Danil42Russia+1   17947Dmitry Sinitsin+1   3850Григорий+1   17443WildOrc+1   791Валерий Жданов+1   17606Виктор+1   16017Sergej Šugajev+1   8707Володимир+1   10494Алексей В.+1   8275Tekashnik+1   11582Родион+1   10558Иван Воронин+1   16066Bodrik_torf+1   162Андрей+1   18249Александр+1   459Сергей Сергеевич+1   5394Anton+1   3922Александр+1   9980Timoha+1   16218Дмитрий+1   3747Сергей+1   1Евгений Волосатов+1   4395Денис+1   6644valerys Nikola+1   Посетитель+1  

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





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

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

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

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


Научился: Сделал пока все по минимуму, видно, что после мата , проигравший король срубил фирзя и сделал шах белому королю, это потом пофикситься?



Научился: Дописал класс Chess() Реализовал вспомогательную функцию Chess().SetCheckFlags() Протестировал работу текущего функционала
Трудности: Доп. условия постараюсь дописать обязательно, пока нет. Убрал надпись IS CHECK при мате, чтоб не дублировалась