На этом уроке мы перенесём функции из Моря в редактор и создадим Делегаты для отображения Кораблей и Выстрелов.
Дата отправки отчёта:
26 августа 2015 г.
Задание выполнено: за
1 час. 30 мин.
Чему научился:
узнал про делегаты - крутая штука. также разделил (перенёс часть) функциональность Моря и Редактора.
Что было сложным:
переделал алгоритм случайной расстановки - отрабатывает за 20-50 итераций при расстановке 10 кораблей на поле 10х10 (против 15-250 итераций в реализации прошлого урока); имена переменных заменил на англ.;
Комментарии:
добавил кнопку для рандомного выстрела
изначальный алгоритм при постановке очередного корабля удалял уже расставленные, если они мешались, т.о. ему приходилось заново расставлять одни и те же корабли по несколько раз, удаляя только что расставленные, которые опять приходится расставлять заново и т.д. мой алгоритм в случае если мешаются корабли, не удаляет расставленные, он переставляет текущий. на скрине видно. получается, что делается меньше удалений уже удачных кораблей, а т.к. поле более-менее большое, а каждый след.корабль становится всё меньше, то очередному кораблю достаточно 1-5 рандомов чтобы встать не затронув существующие.
Начинаем практику по языку C#
Чтобы стать хорошим программистом — нужно писать программы.
На нашем сайте очень много практических упражнений.
После заполнения формы ты будешь подписан на рассылку
«C# Вебинары и Видеоуроки»,
у тебя появится доступ к видеоурокам и консольным задачам.
Несколько раз в неделю тебе будут приходить письма —
приглашения на вебинары, информация об акциях и скидках,
полезная информация по C#.
Научился: Применение делегатов этой всегда нереальная магия. В данном случае немного запутанно получилось но главное что получилось.
Все-таки я бы эту игру создавал бы немного по-другому.
Создать объект Море
Создать объект Корабль
описать им методы и работать с ними.
Поживем увидим что дальше.
Евгения Витольдовичу спасибо за подведение итогов в конце видеоурока! Трудности: пока непонятно зачем нам объект Точка не проще было бы просто координаты прописывать.
т.к. при вызове каждого метода приходиться создавать точку
так же пока непонятно зачем мы этим сейчас занимаемся если собирались редактор делать для размещения кораблей
Научился: Работать с делегатами (но необходимо еще практиковаться). Трудности: Плохо понятно, для чего здесь нужны делегаты и как они работают. Большое спасибо за урок. Замечаний нет.