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

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

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

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

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

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

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




Оцени работу

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

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

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


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

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


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

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


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

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



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





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

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

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

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


Научился: организацию работы всех этих методов!
Трудности: только собственные доработки дают понятие о работе программы, как всё соединяется и что за что отвечает!
добавил закраску полностью подбитого корабля, добавление настроек, возможности выбора уровня сложности игры, отображение статистики и текущего хода. кстати не сказал, но когда ход противника я блокирую грид с кораблями компьютера, чтобы нельзя даже просто так тыкнуть на него, иначе много нюансов возникало, а так всё четко работает!


Научился: Играть с ИИ в "Морской бой")
Трудности: В принципе ничего сложного, весь функционал написан, оставалось только все подключить и отладить, чтобы корректно все работало.
Вот и все, закончился, к сожалению, этот видеокурс. Но зато была написана замечательная программа "Морской бой", да еще не простая, а с реализацией искусственного интеллекта. Причем последний не такой уж и простой, а весьма смышленый и обыграть его порой не так-то уж и легко. Но, мы-то знаем, как он работает, так что будем действовать его методами плюс подключим интуицию) Что хочу сказать, конечно можно еще улучшать и улучшать дизайн программы. К примеру, добавить статистику. Я вот только смог сделать отображение хода, то есть выводить чья очередь сейчас ходить. А с "секретной кнопкой" так и ничего не получилось сделать. Секретная кнопка должна была показывать нам, при ее нажатии, корабли противника, в данном случае компьютера. Мы же используем делегаты для отображения состояния поля да еще в методе ShowCompShip передается координата точки и номер корабля. Как все это "прикрутить", чтобы все работало, не придумал, к сожалению. Видать, знаний мало. Отображение статистики я, честно признаюсь, делать не стал, навряд ли получится. Так что, направление дальнейшего движения задано, буду читать книжки, разбираться. Глядишь, потом как-нибудь (очень хочется надеяться) открою этот проект и реализую все то, что хотел сделать. Огромное спасибо за видеокурс! Он очень полезен начинающим программистам, которые хотят лучше разобраться в языке C# и "прокачать" свои навыки. Тем более игра эта знакома всем с детства и попробовать ее "сделать" своими руками - это значит вдвойне осознать, что ты можешь осуществить свою задумку! p.s. Конец последнего предложения получился не очень, вдохновение закончилось. Но, думаю, Вы меня поняли)