# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 | Основная форма |
|
|||
Первое создание проекта. На уроке мы добавим основные элементы, начнем подготовку. *Задание:: Написать описание игры и пункт "Об авторе", приложить скриншот Отчёт отправил: 5024. Дмитрий Выполнено за 20 мин. [Показать отчёт] Научился: Создавать и настраивать панель "меню" Сложности: ничего Комментарии: все хорошо |
|||||
2 | Площадка для игр |
|
|||
На уроке мы займемся основой для нашей будущей игры, по всем правилам ООП будем создавать всё в отдельных классах. Начнем готовить расположение основных элементов на доске. *Задание:: дописать ещё возможные состояния, прикрепить скриншот Перечисления Отчёт отправил: 5024. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: Создавать новые классы, создавать массивы однотипных объектов, настраивать PictureBox внутри кода Сложности: ничего Комментарии: нету |
|||||
3 | Все работы хороши |
|
|||
Пройдем по смежным профессиям, без которых, увы, начинающему программисту не обойтись! *Задание:: добавить остальные необходимые картинки Отчёт отправил: 5024. Дмитрий Выполнено за 10 мин. [Показать отчёт] Научился: Простым ф-циям графических редакторов Сложности: ничего Комментарии: нету |
|||||
4 | Передислокация или смена позиции |
|
|||
Напишем метод, позволяющий нам изменять состояние одной клетки, в зависимости от нашего желания, а так же научим программу заполнять красиво основную форму игры. *Вопрос:: какие нужно провести обязательные дополнения при первом заполнении карты, для корректной игры? Отчёт отправил: 5024. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: Создавать энумератор, заполнять массив и менять состояния его элементов на основе энумератора Сложности: ничего Комментарии: из рандомной генерации кирпичей надо исключить позицию появления главного персонажа(плюс несколько клеток вправо и вниз для возможности поставить бомбу и не подорваться самому). в зависимости от поведения врагов: если ставят бомбы так же сделать для их стартовых позиций как и для игрока; если бомбы не ставят то просто пройтись по части массива больше от половины до конца в пустые места поставив врага. |
|||||
5 | Главный герой |
|
|||
На уроке мы начнем заниматься специальным классом, который будет отвечать за нашего главного героя. Целый отдельный класс, специально созданный для одной задачи: управлением состоянием главного героя. *Задание:: создать перечисление возможных перемещений гл. героя Отчёт отправил: 5024. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: Создавать класс, его экземпляр и настраивать их Сложности: ничего Комментарии: нету |
|||||
6 | Оно шевелится |
|
|||
На этом уроке мы заставим главного героя перемещаться по полю, отправляя ему команды прямо с клавиатуры. *Задание:: написать условия, при которых гл. герою нельзя будет переходить в следующую клетку Отчёт отправил: 5024. Дмитрий Выполнено за 40 мин. [Показать отчёт] Научился: Определять позицию элемента согласно заданным условиям, менять расположение на основе сетки. Сложности: изменить значения шага и размеров элементов с их локациями чтобы не возникало смещений относительно друг друга у героя и ячеек Комментарии: нету |
|||||
7 | Туда - нельзя, сюда - нельзя |
|
|||
Конечно же главный герой может ходить только по специальным дорожкам, не может ходить сквозь стены и пр. Как же его этому обучить?! Узнаем на этом уроке. *Вопрос:: почему гл. герой ходит сквозь стены? Отчёт отправил: 5024. Дмитрий Выполнено за 10 мин. [Показать отчёт] Научился: Определять границы объектов и работать с ними Сложности: не запутаться в значениях, понять зачем надо именно так. Комментарии: Не очень понятна избыточность данного метода. Смысла главного героя перемещать внутри квадрата где он находится особо нет, разве что для создания в дальнейшем плавного движения из одной клетки в другую пустую. но и при этом можно проще разрешить двигаться в туже сторону на расстояние равное разнице между размером клетки и размером главного героя +-пару пикселей если следующая ячейка по направлению движения занята. это как раз и позволит избежать прохождения сквозь соседние объекты ибо не изменит позицию в сетке и локация не выйдет за границы пустой клетки. |
|||||
8 | Никуда нельзя! |
|
|||
Будем дописывать процедуру проверки смежных клеток, делая перемещение гл.героя более правильным. *Задание:: сделать плавное смещение героя при переходе сквозь стену Отчёт отправил: 5024. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: Определять границы объектов и работать с ними Сложности: Не запутаться во всех направлениях, правильно их определить и провести сравнения нужные значения мкжду собой Комментарии: для плавного движения, возможно, можно использовать простое перемещение на один пиксель например. и каждое нажатие определяем конечную точку где должен оказаться главный герой и выполнить движение к ней. если по диагонали точка то движение пойдет либо углом либо просто по диагонали с задеванием стен. |
|||||
9 | Рождение монстра |
|
|||
Главному герою нужно с кем-то сражаться! Мы начнем создавать врагов и размещать их на нашей игровой карте. *Вопрос:: можно ли использовать один класс на двоих при перемещении гл. героя и моба? Отчёт отправил: 5024. Дмитрий Выполнено за 30 мин. [Показать отчёт] Научился: Создавать класс, создавать таймер для каждого экземпляра. Сложности: ничего Комментарии: герой и моб имеют слишком разные методы для реализации. единственное что на данном этапе у них может быть общим - это более аккуратный поворот . так что использование общего класса скорее приведет к нагромождению и затруднению ориентации в коде |
|||||
10 | Каждый двигается одинаково, но по-своему |
|
|||
Небольшой рефакторинг никогда не помешает! На уроке мы будем реализовывать общие правила для передвижения наших персонажей. *Задание:: заставить Моба передвигаться к опр. точке Отчёт отправил: 5024. Дмитрий Выполнено за 40 мин. [Показать отчёт] Научился: Использовать одним классом методы другого Сложности: ничего Комментарии: Перемещение до точки реализовано но не совсем удачно - проход чисто по ячейкам. Хотя тут скорее надо сперва определить координату центра заданной ячейки и проверку осуществлять не через point а location объекта. просто немного лень было ведь еще надо тогда добавить проверки на сколько разница велик: на число большее или равное шагу или меньше. |
|||||
11 | Дальняя дорога |
|
|||
Создаем метод поиска пути до определенной точки. *Задание:: написать словесное описание трех уровней сложности Моба Отчёт отправил: 5024. Дмитрий Выполнено за 40 мин. [Показать отчёт] Научился: Алгоритму поиска пути по сетке Сложности: учесть все проверки и не запутаться в них Комментарии: Не могу поставить пять звезд: на прошлом уроке в качестве домашнего задания реализовал перемещение до точки почти таким же алгоритмом, но в классе move. при этом в вашем алгоритме возникла неточность при крупном размере спрайта- моб начинает немного раскачиваться из стороны в сторону при перемещении(если размер моба меньше размера ячейки меньше чем на количество шагов) и заметил что в самом начале пути моб двигается с чуть большим шагом чем на подходе к конечной ячейке. Не утверждаю что мое решение удачнее, но в сообщении мне обещали более изящное решение, а на деле такое же почти и с дополнительными неприятностями.) Три уровня сложности Моба: 1. перемещение в случайном возможном направлении на 1-3 клетки с выбором нового движения по достижении конца пути 2. перемещение на большее число ячеек с приоритетом в направлении к игроку со сменой направления по достижению конца пути 3. перемещение непосредственно к ячейке занимаемой игроком, со сменой направления пути при каждом изменении положения ячейки(своей или занимаемой игроком) |
|||||
12 | Ориентация на местности |
|
|||
Дописываем процедуру, помогающую найти следующую точку, в которую необходимо дойти. *Задание:: дописать программу так, чтобы моб обходил препятствия |
|||||
13 | Бомба своими руками |
|
|||
Это же БОМБЕРМЕН! У него должна быть БОМБА! На этом уроке мы этим и займемся! Подарим нашему бомбермену бомбочку, и у него будет возможность её установить! *Вопрос:: где должна располагаться информация о наличии бомб? (в каких классах?) |
|||||
14 | Ложись, БОМБА! |
|
|||
Конечно же у бомбы должен быть таймер, не взрываться же ей в руках?! Будем реализовывать красоту, которая отвечает за "тиканье" бомбы. *Вопрос:: как сообщить «наверх», что бомбе пора взорваться? |
|||||
15 | Ба-БАХ! |
|
|||
Реализовываем детонацию бомбы *Задание:: сделать так чтобы вместо «ВЗРЫВ» писалось «Бомба активирована!» |
|||||
16 | Горим! |
|
|||
Будем реализовывать момент горения после детонации бомбы. *Вопрос:: почему гл. герой не может наступить на место со взрывом и как это исправить? |
|||||
17 | Сборщик мусора |
|
|||
Сборщик мусора (garbage collector) - специальный процесс, периодически освобождает память, удаляя объекты, которые уже не будут востребованы приложениями. На уроке мы более подробно познакомимся с этой формой управления памятью. *Вопрос:: как часто запускается Сборщик мусора(автоматически)? |
|||||
18 | Вызывайте пожарных! |
|
|||
После всего сумасшествия, которое было от взрыва бомбы, необходимо прибраться и почистить. Для этого мы создадим специальных "пожарных", которые помогут нам в этом. *Вопрос:: в какой же момент должен погибнуть гл. герой? |
|||||
19 | Не пойман - не вор! |
|
|||
Только сейчас мы приступаем к реализации окончания игры. Добавим процедуру, которая будут контролировать смерть главного героя. *Задание:: добавить в гл. меню игры возможность выбора сложности игры |
|||||
20 | Три уровня сложности |
|
|||
Неинтересно играть с простым врагом, для этого мы добавим три уровня сложности игры, чтобы нам не заскучать на полях сражения! *Задание:: сделать так, чтобы гл. герой поворачивался в ту сторону, в которую бежит |
|||||
21 | Бонусы |
|
|||
Бонусы! Подарки! Призы! Плюшки и Плюшечки! Всё что душе угодно сможешь ты добавить после этого урока, а я покажу как сделать основные - бонусы, с помощью отдельного класса! *Задание:: насладиться полученным результатом и дописать много-много приделок, которые только улучшат и украсят игру! |
|||||
22 | ФИНАЛЬНЫЙ УРОК |
без видео |
|||
(В этом уроке нет видео) Приветствую! Ты дошел до конца этого курса, до этой черты доходят немногие! Ты уже победитель!!! Расскажи в нескольких словах что ты узнал на курсе. |
|||||
Итого: 22 видеоурока |
7 час. 26 мин. |
3 чел. | |||
Финалисты: DimanDOS, Dimon, Neverwinter 2 . |