Делаем движение шарика, отскок его от стен и ракетки, а также выбивание кирпичиков.
Дата отправки отчёта:
11 апреля 2017 г.
Задание выполнено: за
1 час. 30 мин.
Чему научился:
Научился планировать приложение, набросав эскиз того что в ней должно быть на бумаге, когда-то давно делал также когда пытался написать крестики-нолики на Java, но позабыл о такой практике.
Что было сложным:
Разобраться с необходимыми точками и их координатами.
Комментарии:
Есть опрос. Вместо label и radioButton использовал PictureBox-ы для шарика, кирпичиков и доски с расчётом на то, что они поддерживают прозрачность, так как использование графики в игре придаёт её другой вид. Однако столкнулся с проблемой что у движущихся частях виднеется шлейф цветом бекгроунда игровой формы (видно на первом скриншоте), как от него можно избавится? В качестве доп задания добавил игру подсчет очков (по 100 за кирпичик) а также меню паузы с возможностью регулировки скорости движения шарика.
Вариантов избавиться несколько: 1 - включить даблбуффер. 2 - использовать фоновую картинку на панели, добавив всем объектам аттрибут прозрачности. 3 - располагать все объекты поверх огромной картинки и перерисовывать их для каждого кадра.
Научился: Обрабатывать отскоки шарика от стен и кирпичиков Трудности: Не получилось перенести количество жизней из одного уровня в другой. Пробовала сделать через глобальную переменную, но что-то тоже не дало результатов. Либо я просто неправильно делала - Добавила возможность постановки игры на паузу путем нажатия на клавишу "P"
- Добавила второй уровень, где увеличилось число кирпичиков и скорость
- Добавила подсчет жизней, но не получилось перенести количество жизней из одного уровня в другой. Т.е. если на первом уровне например осталось 3 жизни, то на втором их снова становится 5.
Слишком много копипаста, второй уровень фактически повторяет первый, за малым исключением. Принципиально ничего нового не добавилось в логику работы программы. Поэтому думаю, что надо как-то менять структуру программы, добавлять классы, методы, но пока не знаю как это делать
Научился: работе с классом Random, правильно рассчитывать координаты различных элементов формы и менять их положение, траекторию перемещения Трудности: найти время, придумать что-то дополнительное почему-то ракетка в начале движения притормаживает...как будто ей что-то мешает двигаться