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

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

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

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

  • Делаем движение шарика, отскок его от стен и ракетки, а также выбивание кирпичиков.
  • Дата отправки отчёта: 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 или более это уже будет нерационально
  • Оценка видео-уроку:
Отчёт от 20302 за Нано-игры / Арканоид - Шарик и кирпичики


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




Оцени работу

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

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

Дима, тут не надо заморачиваться. Просто иди дальше. Рефакторинг будет потом в других программах.


  • Отчёт оценивали:
    3922Александр+1   20111Deep Network+1   1Евгений Волосатов+1   1232Фомичева Наталья+1   11019Trira+1   18419DenisMed+1   17947Dmitry Sinitsin+1   9913vip+1   19384Владимир+1   17606Виктор+1   791Валерий Жданов+1   10494Алексей В.+1   5649Максим Лапшинов+1   3747Сергей+1  

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





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

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

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

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


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


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