Делаем движение шарика, отскок его от стен и ракетки, а также выбивание кирпичиков.
Дата отправки отчёта:
5 декабря 2018 г.
Задание выполнено: за
2 дня 1 час. 39 мин.
Чему научился:
Поработал с динамикой. По-моему многое следует реализовать как-то компактнее..
Что было сложным:
Да, вот на этом уроке были сложности. Не очень разобрался, как сделать, чтобы кирпич, по которому был удар, начал двигаться. В итоге сделал, чтобы выбирался рандомный кирпич и двигался. Это к вопросу правильного использования (object sender, EventArgs e). ну и при наскакивании на платформу кирпича игрок проигрывал (срабатывает правда заранее). По итогу осталось 2 глобальных вопроса: 1. Вызов метода, активирующего конкретный кирпич. То есть, чтобы тут: private void timerBrick_Tick(object sender, EventArgs e) { moveBrick(); } .. можно было использовать аргумент brick. Добавление его в аргументы вызывает ошибку. 2. Использование конструкции, подобно этой: switch (x) { case 1: brick1.Location = new Point(brick1.Location.X, brick1.Location.Y + 1); break; ... case 9: brick9.Location = new Point(brick9.Location.X, brick9.Location.Y + 1); break; } Неужели нельзя каким-либо образом взять "brick" и значение x, скомпоновать и сгенерировать соотв. выражение? Просто если бы объектов было 100 или более это уже будет нерационально
Научился: Обрабатывать отскоки шарика от стен и кирпичиков Трудности: Не получилось перенести количество жизней из одного уровня в другой. Пробовала сделать через глобальную переменную, но что-то тоже не дало результатов. Либо я просто неправильно делала - Добавила возможность постановки игры на паузу путем нажатия на клавишу "P"
- Добавила второй уровень, где увеличилось число кирпичиков и скорость
- Добавила подсчет жизней, но не получилось перенести количество жизней из одного уровня в другой. Т.е. если на первом уровне например осталось 3 жизни, то на втором их снова становится 5.
Слишком много копипаста, второй уровень фактически повторяет первый, за малым исключением. Принципиально ничего нового не добавилось в логику работы программы. Поэтому думаю, что надо как-то менять структуру программы, добавлять классы, методы, но пока не знаю как это делать
Научился: работе с классом Random, правильно рассчитывать координаты различных элементов формы и менять их положение, траекторию перемещения Трудности: найти время, придумать что-то дополнительное почему-то ракетка в начале движения притормаживает...как будто ей что-то мешает двигаться