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

Формула программиста
основатель — Волосатов Евгений Витольдович
Вступай в Телеграм чат проекта | Обход блокировки
Игровой комплекс Сокобан - Введи код скидки

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

  • Делаем движение шарика, отскок его от стен и ракетки, а также выбивание кирпичиков.
  • Дата отправки отчёта: 4 декабря 2015 г.
  • Задание выполнено: за 2 час. 45 мин.
  • Чему научился: Вспомнил как на курсе "Игры со спрайтами" мы динамически добавляли метки на форму, применил решение в этой задаче.
  • Что было сложным: Алгоритм пересечения двух прямоугольников, не учел все условия.
  • Комментарии: В качестве дополнений, добавил на форму таймер обратного отсчета, количество попыток и прогресс выполнения задачи. Кроме того, Евгений Витольдович в уроке предложил случайно, динамически изменять параметры границ игровой арены перед стартом игры. Было сделано.
    После этого, от себя решил добавить случайное размещение кирпичиков на площадке, причем так, чтобы они не пересекались и не накладывались друг на друга. Возникла небольшая проблема, как было написано выше, иногда прямоугольники все же пересекались. В проблеме помог разобраться Paint. Напоследок, добавил создание случайного количества кирпичиков и их случайной закраски.
  • Оценка видео-уроку:
Отчёт от 7276 за Наноигры / Арканоид - Шарик и кирпичики


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




Оцени работу

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

7276. Ильшат
Ильшат
ответить

7276. Ильшат
Ильшат
ответить
→  Артём  # Наноигры / Арканоид - Шарик и кирпичики / 2015-12-04 18:02

Спасибо, Артем. Визуально здесь все просто, никаких примочек, у других ребят более интересные работы. Случайное размещение кирпичиков да, интереснее, хотя сейчас смотрю на свою работу и думаю, что вчера ночью можно было сделать более красочно - случайно размещать кирпичики в табличной сетке, чтобы все было ровно)


7276. Ильшат
Ильшат
ответить
→  Евгений Волосатов  # Наноигры / Арканоид - Шарик и кирпичики / 2015-12-04 17:54

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


7276. Ильшат
Ильшат
ответить
→  Кирилл Шмойлов  # Наноигры / Арканоид - Шарик и кирпичики / 2015-12-04 17:43

Кирилл респект, спасибо за поддержку!


8. Василевская Елена
Василевская Елена
ответить
→  Ильшат  # Наноигры / Арканоид - Шарик и кирпичики / 2015-12-04 08:54

Очень хорошая работа. Действительно пример для подражания.


6925. Артём
Артём
ответить
→  Ильшат  # Наноигры / Арканоид - Шарик и кирпичики / 2015-12-04 08:30

Молодец, уверен, что в этом и есть класс программиста - в легком примере сделать что-то крутое. Так держать!


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Ильшат  # Наноигры / Арканоид - Шарик и кирпичики / 2015-12-04 08:12

Видишь, даже в простом уроке при должном умении, можно показать класс и проявить свое мастерство. Яркий пример для "крутых" новичков, которые просят пропустить начальные уроки из-за своей невь крутости.


6452. Кирилл Шмойлов
Кирилл Шмойлов
ответить
→  Ильшат  # Наноигры / Арканоид - Шарик и кирпичики / 2015-12-04 03:25

Ильшат, молодец, верной дорогой идешь!



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




Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

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

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

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


Научился: Создал первый класс на с#. Сделал динамические заготовки для уровня. То есть уровень задается в виде массива и рисуется динамически по координатам в этом массиве, как и шарик, который стал наследником от радиобаттона.
Трудности: Семантика языка. Плюс сначала намучился с координатами, так как координаты пересечений задал не как в уроке 6-ю целыми переменными, а 8-ю типа Point. В итоге получились очень громоздкие сравнения и я в них запутался. Поэтому реализация метода класса, который определяет столкновение с заданным объектом формы писал долго.
Привязал перемещения ракетки к движению мыши на форме. Форма не обрабатывает класса Keyboard - поэтому первое движение ракетки делается, затем секунда задержки и дальше идет продолжение генерация нажатия. В итоге невозможно управлять. Кажется не очень получилось сделать отскок от углов.


Научился: Научился определять когда шарик (мячик) столкнется с ракеткой или кирпичиками.
Трудности: Урок понравился. Выполнял по 15-20 минут с большими перерывами. Точнее сказать выполнял в перерывах между работой и сном. В программу добавил несколько строк. int rI = rnd.Next(0,2); if (rI== 0) ball_sx = -ball_shift_x; else ball_sx = ball_shift_x; Т.е. с вероятностью 50% шарик в начале игры полетит влево( или вправо).