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

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

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

МикроШахматы / Случайный шах

  • На этом уроке мы реализуем функцию is_check(),
    чтобы король не ходил на клетку, которая под боем.

    На время теста вы уберём все пешки и добавим функцию is_check()
    с генерируемой случайностью шаха для всех фигур на поле.
  • Дата отправки отчёта: 3 августа 2018 г.
  • Задание выполнено: за 8 мин.
  • Чему научился: из-за рандома, 20%
  • Оценка видео-уроку:
Отчёт от 9752 за МикроШахматы / Случайный шах




Оцени работу

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

19525. --
Александр Балбашов
Александр Балбашов
ответить
→  chokayes  # МикроШахматы / Случайный шах / 2018-08-04 22:27

неплохо)


  • Отчёт оценивали:
    17947Dmitry Sinitsin+1   17606Виктор+1   9014Николай Денисов+1   791Валерий Жданов+1   3922Александр+1   10558Иван Воронин+1   18493Evgenii Kudriavtcev+1   10494Алексей В.+1   7645Александр Львович+1   1Евгений Волосатов+1   19525Александр Балбашов0   4814Дмитрий+1   16004Сергей+1   11589Yefim+1   19022Олег Чудновский+1   18688Arslan+1   6452Кирилл Шмойлов+1   16218Дмитрий+1   459Сергей Сергеевич+1  

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





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

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

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

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


Научился: Делать случайный шах
В нашем коде не все ходы боступны на как метод can_move возвращает через проверку is_check() с помощью функции random


Научился: Доработана функция can_move() Добавлена функция is_check()
Трудности: Не все ходы доступны, так как после условно недоступного хода был бы условный шах королю ходившей стороны. Мой алгоритм функции is_check() : условно допустить сделанный ход, найти координату короля ходившей стороны (она могла поменяться, но не обязательно), проверить. может ли фигура соперника (Q R B N) пойти на координату с твоим королем, ИЛИ проверить, может ли пешка соперника побить наискосок координату с твоим королем. Если оба вопроса ложь, то возвращаем ложь, шаха нет. Если же координата под боем, возвращаем истину, нашему королю шах.