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

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

Морской Бой / Делегаты отображения

  • На этом уроке мы перенесём функции из Моря в редактор и
    создадим Делегаты для отображения Кораблей и Выстрелов.
  • Дата отправки отчёта: 26 августа 2015 г.
  • Задание выполнено: за 1 час. 30 мин.
  • Чему научился: узнал про делегаты - крутая штука.
    также разделил (перенёс часть) функциональность Моря и Редактора.
  • Что было сложным: переделал алгоритм случайной расстановки - отрабатывает за 20-50 итераций при расстановке 10 кораблей на поле 10х10 (против 15-250 итераций в реализации прошлого урока);
    имена переменных заменил на англ.;
  • Комментарии: добавил кнопку для рандомного выстрела
  • Оценка видео-уроку:
Отчёт от 6614 за Морской Бой / Делегаты отображения




Оцени работу

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

6614. Александр
Александр
ответить
→  Евгений Витольдович  # Морской Бой / Морской Бой - Делегаты отображения / 2015-08-27 00:11

изначальный алгоритм при постановке очередного корабля удалял уже расставленные, если они мешались, т.о. ему приходилось заново расставлять одни и те же корабли по несколько раз, удаляя только что расставленные, которые опять приходится расставлять заново и т.д.
мой алгоритм в случае если мешаются корабли, не удаляет расставленные, он переставляет текущий. на скрине видно.
получается, что делается меньше удалений уже удачных кораблей, а т.к. поле более-менее большое, а каждый след.корабль становится всё меньше, то очередному кораблю достаточно 1-5 рандомов чтобы встать не затронув существующие.


6696. Владимир Борисенко
Владимир Борисенко
ответить
→  Александр  # Морской Бой / Морской Бой - Делегаты отображения / 2015-08-26 18:52

Минималистично и красиво, красавчик.


1. Евгений Витольдович
Евгений Витольдович
ответить
→  Александр  # Морской Бой / Морской Бой - Делегаты отображения / 2015-08-26 18:48

Можешь словами объяснить идею своей оптимизации?


24. Оля
Оля
ответить
→  Александр  # Морской Бой / Морской Бой - Делегаты отображения / 2015-08-26 17:19

Александр, классно придумал! Хорошо поработал! Молодец!⭐️



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Повторил работу с делегатами и наследование.
Трудности: Проблема с NullRefExc была при отбражении выстрела.
Замечаний нет :)
Научился: Повторил работу с делегатами.
Трудности: Сложностей не было.
На верхнем скриншоте раскраска клетки поля при промахе. На нижнем - рассмотрены случаи попадания и потопления корабля.