Делаем движение шарика, отскок его от стен и ракетки, а также выбивание кирпичиков.
Дата отправки отчёта:
6 апреля 2017 г.
Задание выполнено: за
4 час. 00 мин.
Чему научился:
Повторили геометрию =)
Что было сложным:
сделать работающую программу.
Комментарии:
Решил сразу делать по своему (в плане архитектуры). Добавил общий класс GameObject, который имел 4 свойства (x1, y1, width, height), добавил к ним вычисляемые свойства x2 y2 x0 y0. На основании этого класса сделал классы Brick, Platform, Ball и всю логику проверок вынес в эти классы. Сделал перемещение платформы по таймеру, по нажатии клавиш только менял скорость платформы. Добавил возможность управления платформой с помощью мыши. Добавил кирпичам прочность, и смену цвета при попадании. Использовал для хранения всех кирпичиков List, а для проверки ближайших писал LINQ выражения. Пришлось вспомнить все, чему научился на просторах этого ресурса и не только =) Еще можно было бы добавить делегаты, но пока обошелся без них. Теперь мои НАНОИГРЫ пройдены на 100% (я надеюсь)
Научился: Обрабатывать отскоки шарика от стен и кирпичиков Трудности: Не получилось перенести количество жизней из одного уровня в другой. Пробовала сделать через глобальную переменную, но что-то тоже не дало результатов. Либо я просто неправильно делала - Добавила возможность постановки игры на паузу путем нажатия на клавишу "P"
- Добавила второй уровень, где увеличилось число кирпичиков и скорость
- Добавила подсчет жизней, но не получилось перенести количество жизней из одного уровня в другой. Т.е. если на первом уровне например осталось 3 жизни, то на втором их снова становится 5.
Слишком много копипаста, второй уровень фактически повторяет первый, за малым исключением. Принципиально ничего нового не добавилось в логику работы программы. Поэтому думаю, что надо как-то менять структуру программы, добавлять классы, методы, но пока не знаю как это делать
Научился: работе с классом Random, правильно рассчитывать координаты различных элементов формы и менять их положение, траекторию перемещения Трудности: найти время, придумать что-то дополнительное почему-то ракетка в начале движения притормаживает...как будто ей что-то мешает двигаться