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

Формула программиста
основатель — Волосатов Евгений Витольдович
C# Олимпиада из Простоквашино

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

  • На этом уроке мы закончим создание Морского боя.
    Сделаем отображение выстрелов пользователя.
    Подключим класс Mission и сделаем ход компьютера.
    Ходы будут выполняться в порядке очереди.
    Нам потребуется таймер для постепенного
    отображения серии ходов компьютера.
  • Дата отправки отчёта: 17 декабря 2015 г.
  • Задание выполнено: за 1 час. 30 мин.
  • Чему научился: Самое главное - подключать другие классы к готовой программе.
  • Что было сложным: В некоторых случаях обыграть компьютер!))
  • Комментарии: Ура! Свершилось!) Игра заработала, да ещё и серьёзным соперником оказалась!!!
  • Оценка видео-уроку:
Отчёт от 7980 за Морской Бой / Последний Бой!


Отчёт от 7980 за Морской Бой / Последний Бой!




Оцени работу

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

7980. Сергей Лузум
Сергей Лузум
ответить
# Морской Бой / Последний Бой! / 2015-12-18 22:16

Спасибо! Опыта и знаний, действительно, ощутимо прибавилось!) А насчёт увлекательности - самое интересное было , конечно, с олимпиадной частью, но ещё осталась доработка программы. Хочется доработать ИИ до уровня хорошего игрока, чтобы результат игры с человеком был примерно 50:50... Пока поразвлекался, заставил два разных ИИ играть друг против друга: мой вариант всё-таки уступает предложенному в уроке, но тем заманчивей придумать что-то более достойное!))


24. Олюшка
Олюшка
ответить
→  Сергей Лузум  # Морской Бой / Последний Бой! / 2015-12-18 17:10

Сергей, рада очень и Поздравляю с замечательной игрой и приобретенным опытом! Ты, Молодец! :)


2146. Иван
Иван
ответить
→  Сергей Лузум  # Морской Бой / Последний Бой! / 2015-12-18 02:25

Здорово! Поздравляю с завершением курса! Создание такой программы - увлекательное дело!


7980. Сергей Лузум
Сергей Лузум
ответить

8. Василевская Елена
Василевская Елена
ответить
→  Сергей Лузум  # Морской Бой / Последний Бой! / 2015-12-17 20:41

Молодец, Сергей! Красивая игра получилась.  Очень рада за тебя, что так уверенно осваиваешь материал и добиваешься отличных результатов. Успехов!


  • Отчёт оценивали:
    459Сергей Сергеевич+1   4992Николай+1   1Евгений Волосатов+1   6925Артём+1   7276Ильшат+1   6458Илья+1   8Василевская Елена0   6203Николай (nick27m)+1   8596Арсен0   4395Денис+1   3747Сергей+1   6391Владимир+1   2146Иван+1   7645Александр Львович+1   7448Sergey Shumskiy+1   8118Юрий +1   6452Кирилл Шмойлов+1   24Олюшка+1   689Igorenzia+1   2204sergeyvbo0   8606Владимир0   4732Sergey+1   8520Сергей Колупаев0   5219Nromik+1   1901Neverwinter 2+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: УРА УРА УРА !!!!!!!! Я все-таки допили все до конца и победил своего бота. Классная игрушка все же вышла) Еще из дополнений можно сделать игру по сети (но это уже будет клиент-серверное приложение, а не простая развлекаловка) и неплохо было переписать приложение без использования виндовс форм, на мой взгляд выглядит не совсем кошерно (но это уже мои придирки) ...
Трудности: Осознать, что такой прекрасный курс все же закончился((
------
Научился: Добавлять класс из другого проекта, собирать все вместе и тестировать варианты ИИ. Повторил работу с таймером.
Трудности: Найти ошибку, нужно было поменять модификатор доступа на public. Реализовывать свои идеи.
Для усложнения игры сделал два, нет три добавления: 1. Сделал цвет "убил" таким же как "ранил" - это усложняет игру для человека. 2. Добавил зеркальный шаблон для обстрела, так как зная шаблон легко расставить корабли так чтобы по ним компьютер попадал в последнюю очередь. 3. Сделал приоритет обстрела по краю, в соответствии с правилом лучшей расстановки кораблей. И после этого выиграть у компьютерного ИИ позволяет только удача, что и видно на скриншоте. Это замечательный курс уроков, который прокачивает не только программирование, но и алгоритмическое мышление и планирование. Тут есть над чем подумать не только начинающим программистам. Все играли в "Морской бой" не одну сотню раз, и есть и стратегия обстрела и тактика расстановки. А когда пробуешь это все запрограммировать сталкиваешься с трудностями, о которых даже не подозревал. Я очень рад что прошел этот курс и что был на вебинаре по его окончанию, и видел первую победу над ИИ. ;) Спасибо Евгений Витольдович, за Ваш талант преподавания не очень простых вещей, очень наглядно и доступно, так что даже если не понятно с первого раза, можно посмотреть еще раз и все становится ясно! Благодаря таким урокам хочется узнавать все больше и на более глубоком уровне, ведь впереди еще столько интересного!