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

Формула программиста
основатель — Волосатов Евгений Витольдович

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

  • Делаем движение шарика, отскок его от стен и ракетки, а также выбивание кирпичиков.
  • Дата отправки отчёта: 8 января 2016 г.
  • Задание выполнено: за 5 час. 30 мин.
  • Чему научился: двигать предметы!
  • Что было сложным: алгоритматика
  • Комментарии: 1. понимаю что есть такое понятие как фокус элемента на форме - мы его проходить будем?
    2. если игра начинается и я ее хочу прервать (Alt F4) как это событие правильно обрабатывать?
    3. мы стрелками ракетку двигаем а я ползунок на TrackBar от стрелок отучить не смогу сам!
    4. И САМОЕ ГЛАВНОЕ! СПАСИБО!
    5. хотелось бы продолжения (развития) данной игры! хотелось бы научиться двигать ракетку силой мышки, хотелось бы понимать как создавать много объектов которые надо сбивать, хотелось бы научиться ими правильно управлять (они же двигаться должны  по уму)
  • Видеозапись: http://youtu.be/g1AA-8iQLfA
  • Оценка видео-уроку:
Отчёт от 3146 за Наноигры / Арканоид - Шарик и кирпичики


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




Оцени работу

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

5649. Максим Лапшинов
Максим Лапшинов
ответить
→  Permitin Alexey  # Наноигры / Арканоид - Шарик и кирпичики / 2016-01-09 14:06

1. невсе надо саммому чтото делать
2. есть у формы event FormClosing
3. не понял вопроса а зачем вам TrackBar
5. Самому по немножко надо пробывать ее развивать. Другие уроки вам в помощь
насчет мышки так у формы есть MouseMove и там передовать надо координату и ракетка будит двигатся


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Permitin Alexey  # Наноигры / Арканоид - Шарик и кирпичики / 2016-01-08 22:51

Проходи дальше, всему научишься вскоре.


  • Отчёт оценивали:
    1Евгений Волосатов+1   459Сергей Сергеевич+1   6925Артём+1   2639Морозов Юрий Александрович+1   4699Сергей Витальевич+1   8005Александр+1   5760Мариша +1   6987MichGar+1   4004Елена+1   7645Александр Львович+1   4992Николай+1   6195sergey+1   2725Anton+1   4467Alcatraz+1   3223Тимур+1   7157muxasio0   5649Максим Лапшинов+1   5489Serg+1   1710Степан+1   3747Сергей+1   5263Павел+1   11165Сергей Д.0  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился:  * Алгоритмам, то, с чем по пока есть проблемы. * Самостоятельной работе! + Добавил в игру "жизни". Написал перечисление Hearth, функцию HealthToPicture и реализовал алгоритм игры до потери трех жизней. После потери жизни ракетка и шарик занимают стартовую позицию, таймер шарика выключается. Отвечает за это функция start_pos(). + Добавил в игру возможность паузы по кнопке Space или Pause. Во время паузы выводится сообщение и мигает pictureBoxHearth (текущий уровень жизни). Фича с паузой будет работать только, если игра уже запущена, это отслеживаю булевой переменной isStartGame. Игра считается запущенной, если была нажата клавиша Enter. До этого был bug, игру можно было запустить кнопкой паузы и висело сообщение о паузе во время игры :) +По нажатию на клавишу ESC вызывается функция exit_game(). Приостанавливается игра и выходит MessageBox с предложением выйти из игры. При нажатии "ДА" окно с игрой закроется, при нажатии "НЕТ" игра возобновится.
Трудности: Добавлять в игру свои фичи
Пока не разобрался как упростить создание кирпичиков. Вызывал 24 раза cross_brick() с разным brick и понимаю, что можно сделать правильнее. Были еще идеи чего можно добавить и мысли как это сделать, но затянул бы на неделю :)
Научился: Вспомнил как на курсе "Игры со спрайтами" мы динамически добавляли метки на форму, применил решение в этой задаче.
Трудности: Алгоритм пересечения двух прямоугольников, не учел все условия.
В качестве дополнений, добавил на форму таймер обратного отсчета, количество попыток и прогресс выполнения задачи. Кроме того, Евгений Витольдович в уроке предложил случайно, динамически изменять параметры границ игровой арены перед стартом игры. Было сделано. После этого, от себя решил добавить случайное размещение кирпичиков на площадке, причем так, чтобы они не пересекались и не накладывались друг на друга. Возникла небольшая проблема, как было написано выше, иногда прямоугольники все же пересекались. В проблеме помог разобраться Paint. Напоследок, добавил создание случайного количества кирпичиков и их случайной закраски.