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

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

Демо игры / Лабиринт 2D - игра

  • На этом уроке мы создадим два уровня игры и запрограммируем их.
    В игре будут предметы для собирания, ключи, двери, мигающие стены.

    Задание:
    Создать два или три уровня для игры Лабиринт.
  • Дата отправки отчёта: 4 июля 2016 г.
  • Задание выполнено: за 3 час. 00 мин.
  • Чему научился: работа с событиями объектов форм
    взаимодействие форм между собой
  • Что было сложным: ничего
  • Комментарии: очень порадовала задача, будем её дорабатывать, надо будет добавить редактор уровней, дочке понравилась игра, хочет рисовать уровни для неё =)

    первые два уровня стандартные
    третий уровень с 3 ключами разного цвета, но по сути их надо просто собрать все, чтобы открылась дверь к финишу
    если прошёл уровень без единой ошибки, играет музыка из Марио, если хотябы одна ошибка, просто рыбка в воду нырнула. Все важные объекты появляются на поле спустя 1 секунду после начала уровня (дабы устранить баги и случайное прохождение/проигрыш уровня, которые были замечены в процессе тестирования)
  • Видеозапись: https://youtu.be/d0feVoRrOJk
  • Оценка видео-уроку:
Отчёт от 10558 за Демо игры / Лабиринт 2D - игра




Оцени работу

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

10558. Иван Воронин
Иван Воронин
ответить
→  Евгений Волосатов  # Демо игры / Лабиринт 2D - игра / 2016-07-05 02:08

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


1. Евгений Волосатов
Евгений Волосатов
ответить
→  Иван Воронин  # Демо игры / Лабиринт 2D - игра / 2016-07-04 13:11

Иван, молодец! Привет дочке :-) отличная программа получилось


  • Отчёт оценивали:
    6452Кирилл Шмойлов+1   10494Алексей В.+1   4963blackfox990+1   4467Alcatraz+1   9323Алексей+1   689Igorenzia+1   7119Новопашин Владимир+1   9263Андрей Н.+1   2639Морозов Юрий Александрович+1   1Евгений Волосатов+1   3506Алексей|BrisK|Кривицкий+1   4395Денис+1   9237Mais+1   4992Николай+1   1803Саша+1   791Валерий Жданов+1   9971Юрий+1   10478DeeP+1   9457Дмитрий+1   2146Иван+1  

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




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

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

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

Ты в любой момент сможешь отписаться от рассылки.
Научился: Создавать игру.. Мне показали много полезных фич, таких как: MouseEnter, визуализация обьектов, немного понял как создавать игры, типа лабиринт) Придумал свой 3-й уровень.) Суть 3-го уровня, нашел на форуме, как передвигать лейблы, сделал движущиеся препятствия))
Трудности: Создать движущиеся препятствия и потом их настроить, что бы они двигались по одной и той же траектории. private int pixelSpeedX = 20; private int pixelSpeedX1 = 21; private int pixelSpeedX2=21; private int pixelSpeedX3=15; private void timer_gorizontal_Tick(object sender, EventArgs e) { if (label_left.Location.X >= label_run.Location.X - label_left.Width) pixelSpeedX *= -1; else if (label5.Location.X <= label_run.Location.X + label_run.Width) pixelSpeedX *= -1; label_run.Location = new Point(label_run.Location.X + pixelSpeedX, label_run.Location.Y); if (label26.Location.X >= label31.Location.X - label26.Width) pixelSpeedX1 *= -1; else if (label24.Location.X <= label31.Location.X + label31.Width) pixelSpeedX1 *= -1; label31.Location = new Point(label31.Location.X + pixelSpeedX1, label31.Location.Y); if (label26.Location.X >= label30.Location.X - label26.Width) pixelSpeedX2 *= -1; else if (label24.Location.X <= label30.Location.X + label30.Width) pixelSpeedX2 *= -1; label30.Location = new Point(label30.Location.X + pixelSpeedX2, label30.Location.Y); if (label26.Location.X >= label29.Location.X - label26.Width) pixelSpeedX3 *= -1; else if (label24.Location.X <= label29.Location.X + label29.Width) pixelSpeedX3 *= -1; label29.Location = new Point(label29.Location.X + pixelSpeedX3, label29.Location.Y); }
2-й скрин - 3-й уровень
Научился: обработка действий мыши
в третьем уровне прямоугольники меняют размер и сдвигаются вверх-вниз по индвидуальному таймеру