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

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

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

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

  • На этом уроке мы закончим создание Морского боя.
    Сделаем отображение выстрелов пользователя.
    Подключим класс Mission и сделаем ход компьютера.
    Ходы будут выполняться в порядке очереди.
    Нам потребуется таймер для постепенного
    отображения серии ходов компьютера.
  • Дата отправки отчёта: 5 декабря 2015 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: организацию работы всех этих методов!
  • Что было сложным: только собственные доработки дают понятие о работе программы, как всё соединяется и что за что отвечает!
  • Комментарии: добавил закраску полностью подбитого корабля, добавление настроек, возможности выбора уровня сложности игры, отображение статистики и текущего хода.
    кстати не сказал, но когда ход противника я блокирую грид с кораблями компьютера, чтобы нельзя даже просто так тыкнуть на него, иначе много нюансов возникало, а так всё четко работает!
  • Оценка видео-уроку:
  • Видеозапись: https://youtu.be/VcUyQJm4vRM
Отчёт от 6452 за Морской Бой / Последний Бой!




Оцени работу

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

6391. --
Владимир
Владимир
ответить
→  Кирилл Шмойлов  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-05 19:58

Отличный обзор, Кирилл! Полезные дополнения! Молодец!


7276. --
Ильшат
Ильшат
ответить
→  Кирилл Шмойлов  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-05 20:44

Хорошие дополнения, возможность подсмотреть корабли компьютера позволяет быстро протестировать работу программы.


1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Кирилл Шмойлов  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-05 21:02

Бесподобная работа!


24. --
Олюшка
Олюшка
ответить
→  Кирилл Шмойлов  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-05 22:58

Кирилл, отличные у тебя доработки, уверена что ты ее еще доделаешь и улучшишь! Классный обзор, интересный и захватывающий, мотивирует заниматься! Молодец! :)


2146. --
Иван
Иван
ответить
→  Кирилл Шмойлов  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-06 00:30

Здорово! Очень интересно было посмотреть на такую замечательную реализацию! Спасибо!


8322. --
ironsavior
ironsavior
ответить
→  Кирилл Шмойлов  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-12 16:25

Очень классно! А как вы сделали динамический лейбл с указанием чей ход?


6452. --
Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  ironsavior  # Морской Бой / ПОСЛЕДНИЙ БОЙ / 2015-12-12 18:21

Там же где меняется Mode программы, при переходе хода. Если ход компьютера, то пропадает(Visible=false) "Ваш ход" и поле с кораблями компьютера становится не Enabled, когда ход человека - наоборот.


8322. --
ironsavior
ironsavior
ответить
→  Кирилл Шмойлов  # Морской Бой / Последний Бой! / 2016-01-22 14:45

Спасибо! А как организовали добивание всего корабля в красный цвет. Я когда функцию написал, у меня почему-то ранение тоже красным становится...


6452. --
Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  ironsavior  # Морской Бой / Последний Бой! / 2016-01-23 07:16

В классе Море, в методе Выстрел идет проверка на Убил, и если Убил то проверяется Победил-ли. После этой проверки я добавил хождение по всему полю и проставляю им Статус. Раньше возвращался только последний, а я, пробегаясь по всей карте, заново им выставляю статусы, и у уже Убитого корабля на всех его палубах выставится корректный цвет - красный!


  • Отчёт оценивали:
    Посетитель+1   Посетитель+1  

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





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

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

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

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


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


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