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

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

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

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

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




Оцени работу

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

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

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


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

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


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

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


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

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



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





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

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

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

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


Научился: Применение делегатов этой всегда нереальная магия. В данном случае немного запутанно получилось но главное что получилось. Все-таки я бы эту игру создавал бы немного по-другому. Создать объект Море Создать объект Корабль описать им методы и работать с ними. Поживем увидим что дальше. Евгения Витольдовичу спасибо за подведение итогов в конце видеоурока!
Трудности: пока непонятно зачем нам объект Точка не проще было бы просто координаты прописывать. т.к. при вызове каждого метода приходиться создавать точку так же пока непонятно зачем мы этим сейчас занимаемся если собирались редактор делать для размещения кораблей



Научился: Работать с делегатами (но необходимо еще практиковаться).
Трудности: Плохо понятно, для чего здесь нужны делегаты и как они работают.
Большое спасибо за урок. Замечаний нет.