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

Формула программиста
основатель — Волосатов Евгений Витольдович
1-2-3 мая - Создай online игру!
Вебинар «Карточки памяти на Android» идёт прямо сейчас

Морской Бой / Последний Бой!

  • На этом уроке мы закончим создание Морского боя.
    Сделаем отображение выстрелов пользователя.
    Подключим класс Mission и сделаем ход компьютера.
    Ходы будут выполняться в порядке очереди.
    Нам потребуется таймер для постепенного
    отображения серии ходов компьютера.
  • Дата отправки отчёта: 26 ноября 2015 г.
  • Задание выполнено: за 1 час. 00 мин.
  • Чему научился: Добавлять класс из другого проекта, собирать все вместе и тестировать варианты ИИ.
    Повторил работу с таймером.
  • Что было сложным: Найти ошибку, нужно было поменять модификатор доступа на public.
    Реализовывать свои идеи.
  • Комментарии: Для усложнения игры сделал два, нет три добавления:
    1. Сделал цвет "убил" таким же как "ранил" - это усложняет игру для человека.
    2. Добавил зеркальный шаблон для обстрела, так как зная шаблон легко расставить корабли так чтобы по ним компьютер попадал в последнюю очередь.
    3. Сделал приоритет обстрела по краю, в соответствии с правилом лучшей расстановки кораблей.
    И после этого выиграть у компьютерного ИИ позволяет только удача, что и видно на скриншоте.

    Это замечательный курс уроков, который прокачивает не только программирование, но и алгоритмическое мышление и планирование.
    Тут есть над чем подумать не только начинающим программистам.
    Все играли в "Морской бой" не одну сотню раз, и есть и стратегия обстрела и тактика расстановки.
    А когда пробуешь это все запрограммировать сталкиваешься с трудностями, о которых даже не подозревал.

    Я очень рад что прошел этот курс и что был на вебинаре по его окончанию, и видел первую победу над ИИ. ;)
    Спасибо Евгений Витольдович, за Ваш талант преподавания не очень простых вещей, очень наглядно и доступно, так что даже если не понятно с первого раза, можно посмотреть еще раз и все становится ясно!
    Благодаря таким урокам хочется узнавать все больше и на более глубоком уровне, ведь впереди еще столько интересного!
  • Оценка видео-уроку:
Отчёт от 6391 за Морской Бой / Последний Бой!




Оцени работу

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

1. Евгений Волосатов
Евгений Волосатов
ответить
→  Владимир  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-11-26 13:43

Владимир, отличная работа, молодец!


24. Олюшка
Олюшка
ответить
→  Владимир  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-11-26 13:43

Владимир, вот уже закончила его, остался только видеообзор записать!!! :)


6391. Владимир
Владимир
ответить
→  Олюшка  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-11-26 12:24

Оля, спасибо, а как у тебя с "Флотом морским"?


24. Олюшка
Олюшка
ответить
→  Владимир  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-11-26 11:54

Владимир, МОЛОДЧИНА!!!
Поздравляю с отличным завершением этого прекрасного курса! Ура!!! :)



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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: организацию работы всех этих методов!
Трудности: только собственные доработки дают понятие о работе программы, как всё соединяется и что за что отвечает!
добавил закраску полностью подбитого корабля, добавление настроек, возможности выбора уровня сложности игры, отображение статистики и текущего хода. кстати не сказал, но когда ход противника я блокирую грид с кораблями компьютера, чтобы нельзя даже просто так тыкнуть на него, иначе много нюансов возникало, а так всё четко работает!
Очень классно! Я даже на средней сложности ели как выиграл - были эпичные баталии 0_o не ожидал такого :_ Я ещё сделал так, чтобы, когда корабль убит - он весь закрашивался в цвет убитого, а не одна клетка ;) А эти жёлтые клетки на скриншоте - это "пользовательские отметки" - их можно ставить нажав на ПКМ и при этом можно так и отмечать так и убирать отметку (можно ставить на клетку с статусом - неизвестно) - сделано для того, чтобы отмечать места, где точно не может быть кораблей - я мог сделать, чтобы автоматически вокруг корабля отметки делались, но тогда играть будет менее интересно, поэтому не стал ;) Кстати сделал прозрачное поле - элегантно - просто "вырубил" делегат отображения во время старта игры и потом вернул обратно :)