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

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

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

Нано-игры / Арканоид - Шарик и кирпичики

  • Делаем движение шарика, отскок его от стен и ракетки, а также выбивание кирпичиков.
  • Дата отправки отчёта: 7 марта 2018 г.
  • Задание выполнено: за 1 день 16 час. 31 мин.
  • Чему научился: Урок великолепный.
    По началу сделал все как в видео.
    Решил добавить своего:
    - Сделал больше блоков (у меня 11)
    - Добавил ФОН (просто стандартный цвет как-то не очень, но это дело каждого)
    - Увеличил верхнюю площадь ограничителя (label_Top) и добавил в нее жизни, и счетчик оставшихся до победы кубиков.
    • При добавлении жизней (использовал PictureBox и в них поставил картинки). Внес доработки в процедуру LoseBall(), где добавил вывод модального сообщение пользователю, с предложением продолжить. Если согласен, то один PictureBox с сердечком пропадает, и игра идет дальше. Если нет, то просто возвращаемся на форму меню. Когда сердечек больше нет, игра проиграна.
    • Счетчик просто отсчитывает в обратном порядке количество кубиков до победы и выводит для пользователя. (для информативности)
    Добавил на форму уровня TextBox, где описал как начать игру и какие клавиши отвечают за управление рокетки. Когда шарик полетел, данный TextBox пропадает. (Его видим только когда нажимаем НАЧАТЬ ИГРУ из формы меню)
    Так же решил добавить звуковое оформление. Заодно вспомнил методику воспроизведения WAV файлов. Покопался в интернете. Остановился на встроенном файле WAV в проект. (тем более удобно если передаешь кому-то EXEник). Так же откопал для себя что есть возможность воспроизводить MP3, через подключение “DirectX”, но это актуально для WPF.
    Добавил увеличение скорости шарика при каждом попадании по кирпичику.
    В целом, если посмотреть на доработки, мелочь, но для меня прогресс))) Да и сам процесс отладки при различных доработках очень увлекательный. То шарик улетит не туда, то произойдет то что не ожидал…))) При тестировании все больше и больше вникаешь в суть, и программа получается все лучше и лучше. Интересно будет вернуться к ней через несколько месяцев… Наверное, многое захочется оптимизировать и дописать))))
  • Что было сложным: По началу очень тяжело было въехать (много переменных). Путались в голове координаты рокетки, шарика по X  Y. Ну как говорится в итоге все встало на свои места))))
    Задача растянулась во времени, как ни старался сделать быстро пришлось дробить на несколько вечеров.
  • Оценка видео-уроку:
Отчёт от 16218 за Нано-игры / Арканоид - Шарик и кирпичики


Отчёт от 16218 за Нано-игры / Арканоид - Шарик и кирпичики




Оцени работу

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

1. --
Евгений Волосатов
Евгений Волосатов
ответить
→  Дмитрий  # Наноигры / Арканоид - Шарик и кирпичики / 2018-03-07 15:21

Дмитрий, шикарная работа, прекрасные дополнения! :)
Великолепно.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Наноигры / Арканоид - Шарик и кирпичики / 2018-03-07 18:50

Молодец, отлично поработал! У меня этот урок был один из первых на проекте, поэтому ничего особого не внедрил, даже видео когда записывал для финала, так и сказал, что не было времени.
з.ы.
Бросилась в глаза систематическая ошибка в слове "рОкетка" пишется через "А" - рАкетка или рАкета, остальное всё ок. Молодец.


8932. --
Алекс
Алекс
ответить

16218. --
Дмитрий
Дмитрий
ответить
→  Иван Воронин  # Наноигры / Арканоид - Шарик и кирпичики / 2018-03-08 09:50

Иван, спасибо.
Да уж, c  рОкеткой  я отчудил))) Не знаю почему так написал)))


16218. --
Дмитрий
Дмитрий
ответить
→  chokayes  # Наноигры / Арканоид - Шарик и кирпичики / 2018-03-08 09:55

Сhokayes, добрый день.
Спасибо.
Когда доделываешь проект, мысли возникают на лету))) Хочется многого..И тут верно подмечено, главное не зависнуть надолго. Должна быть некая золотая середина.


16218. --
Дмитрий
Дмитрий
ответить
→  Алекс  # Наноигры / Арканоид - Шарик и кирпичики / 2018-03-08 09:55

Алекс, спасибо.


16218. --
Дмитрий
Дмитрий
ответить
→  Евгений Волосатов  # Наноигры / Арканоид - Шарик и кирпичики / 2018-03-08 10:01

Евгений, добрый день.
Спасибо.
Как всегда все оказалось просто, благодаря детальному изложению информации в Вашем уроке.


10558. --
Иван Воронин
Иван Воронин
ответить
→  Дмитрий  # Наноигры / Арканоид - Шарик и кирпичики / 2018-03-08 17:37

Когда чем то увлечён, в других, казалось бы простых местах, начинаешь косячить, это нормально =) По поводу золотой середины это ты верно модметил, главное не зависать, я вот поэтому и отложил финальный урок для "Сокобана", так как кое что надо допилить, чтобы продемонстрировать то, что планирую, хотя там уже много чего реализовано было в декабре 2016, продолжил проходить другие курсы, а к "Сокобану" вернусь, когда найду то, что ищу для необходимой реализации.


  • Отчёт оценивали:
    7119Новопашин Владимир+1   1Евгений Волосатов+1   16533Андрей Шевченко+1   6452Кирилл Шмойлов+1   10558Иван Воронин+1   17443WildOrc+1   459Сергей Сергеевич+1   10494Алексей В.+1   3922Александр+1   8932Алекс+1   162Андрей+1   11582Родион+1   16880Константин+1   8275Tekashnik+1   17619Gilman0   1305Валерий+1  

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





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

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

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

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


Научился: Обрабатывать отскоки шарика от стен и кирпичиков
Трудности: Не получилось перенести количество жизней из одного уровня в другой. Пробовала сделать через глобальную переменную, но что-то тоже не дало результатов. Либо я просто неправильно делала
- Добавила возможность постановки игры на паузу путем нажатия на клавишу "P" - Добавила второй уровень, где увеличилось число кирпичиков и скорость - Добавила подсчет жизней, но не получилось перенести количество жизней из одного уровня в другой. Т.е. если на первом уровне например осталось 3 жизни, то на втором их снова становится 5. Слишком много копипаста, второй уровень фактически повторяет первый, за малым исключением. Принципиально ничего нового не добавилось в логику работы программы. Поэтому думаю, что надо как-то менять структуру программы, добавлять классы, методы, но пока не знаю как это делать


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