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

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

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

Шахматы по сети / Алгоритмы. Дальнобойщики

  • Мы продолжаем написание шахматных алгоритмов.
    На этом уроке мы переходим к дальнобойным фигурам.
  • Дата отправки отчёта: 19 июля 2018 г.
  • Задание выполнено: за 3 час. 43 мин.
  • Чему научился: Дебажить как нога Акинфеева. Параллельно сделал методы для проверки возможности хода дальнобойных фигур.
  • Что было сложным: В InitFigures(string v) по какой-то неведомой причине строка v.Replace('1', (char)Figure.none); не работала и когда у всех после нее на выходе были точки у меня были единички. На скринах с предыдущих уроков видно. Ну единички и фиг с ними. В итоге когда дело дошло до хода Ферзя, Ладьи, Слона они все ходили как Король, на 1 клеточку. Пересмотреть урок 3 раза и сравнить все функции посимвольно не помогло, дебаг (а тут уже спасибо нашему не быстрому алгоритму где смотрятся все клеточки и ты сидишь их увлеченно щелкаешь по 1й..) тоже ничего не дал. Тогда было принято решение заняться единичками. Строку  "v" оставил, все манипуляции провел в StringBuilder и потом только скопировал результат в строку "v" после этого все заработало. По какой причине строка кода выше не меняла единички на none сие есть тайна покрытая мраком, но из-за этого функция CanStraightMove() делала почти из всех фигур королей) потому что часть условия в цикле (board.GetFigureAt(at) == Figure.none) нормально не работало. Другое дело если бы оно не работало вообще ни как было бы проще, но Ферзь мог ходить в любую сторону по 1й клеточке, Ладья крестом по 1й клеточке, Слон по диагонали по 1й клеточке.. Жэсть жесточайшая. В итоге урок на 20 минут растянулся на несколько часов.
  • Оценка видео-уроку:
Отчёт от 17535 за Шахматы по сети / Алгоритмы. Дальнобойщики




Оцени работу

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

  • Отчёт оценивали:
    Посетитель+1   6452Кирилл Шмойлов+1   2773Никита+1   Посетитель+1   3922Александр+1   791Валерий Жданов+1   10494Алексей В.+1   17606Виктор+1   17947Dmitry Sinitsin+1   13850Владимир+1   12464Татьяна+1   18493Evgenii Kudriavtcev+1   4814Дмитрий+1   9752chokayes+1   11019Trira+1   17443WildOrc+1   17255Слава+1   459Сергей Сергеевич+1   36285Александр Шлома+1  

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





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

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

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

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


Научился: Понравился общий алгоритм и атрибут Sign отлично вписывается. Всё супер, идём дальше.



Научился: 1.Add functions CanStraightMove() to Bishop and Rook 2.Add attributes signX and signY 3.Create operator Equal to Square class 4.Check if figures are moving properly