# | Название видеоурока | Видео / Тесты | Решило | Рейтинг | Доступ |
---|---|---|---|---|---|
1 |
![]() |
1 тест |
|||
Из-за каких ошибок большинство обучающих курсов не очень эффективны? Мы начинаем создание игровой программы Xonix с обзора этих самых ошибок, чтобы избежать их при создании практического видеокурса по изучению языка Java на примере написания небольшой видеоигры.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Узнал о частых ошибках обучающих курсов Сложности: найти время Комментарии: Полностью согласен с ошибками видео-курсов, цитируют книжки, просто берут количеством, "забивая головы". |
|||||
2 |
![]() |
1 тест |
|||
На этом уроке вам необходимо: 1. скачать Java-код игры Xonix, 2. откомпилировать код. 3. запустить игру. 4. разобратья в игре и дойти хотя бы до 5 уровня. Приложить скриншот результата. В следующих уроках мы будем создавать эту игру с нуля - отличный способ познакомиться с основными идеями Объектно- Ориентированного Программирования на конкретном примере. Отчёт отправил: 10558. Иван Воронин Выполнено за 25 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Одна из первых игр, которые игрался и создавал на одних из первых ПК (СПЕКТР-001 и ZX Spectrum) так как есть опыт игры, дошёл до 5 уровня без проблем =) |
|||||
3 | Свои правила |
1 тест |
|||
На этом уроке мы установим свои правила в этой игре. Поменяйте каждый параметр и проверьте результат. В отчёте необходимо написать, изменение какого параметра было самым интересным. Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: Ничему новому Сложности: найти время Комментарии: Поэкспериментировал с константами, русифицировал статус бар, увеличил размеры поля до стандарта HD, поигрался с интервалом отображения игровых циклов, всё супер =) з.ы. цвета заменил на ZX Spectrum аналоги |
|||||
4 | Установка Eclipse |
1 тест |
|||
На этом уроке мы скачаем и установим Eclipse. А также создадим первый Java - проект.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Был опыт работы с Eclipse, интересная среда, но после перехода на IntelliJ IDEA понял, что IDE для Java может работать быстрее =) з.ы. На скриншоте продемонстрировал, что в IntelliJ IDEA тоже можно увидеть список методов для удобства. |
|||||
5 | Окно проекта |
1 тест |
|||
Создать проект и вывести окно
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Отличный урок, идём дальше. |
|||||
6 | Использование констант |
1 тест |
|||
Добавим константы для размера окна и заголовка окна.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Коротко и ясно =) |
|||||
7 | Панельный Canvas-класс |
1 тест |
|||
На этом уроке мы добавим панельный класс, который называется Canvas - основа холста для всех последующих рисунков. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Хорошо идём =) |
|||||
8 | Координатный кубик |
1 тест |
|||
На этом уроке мы передеаем отображение кубика - сделаем так, чтобы он риовался в заданных (x, y) координатах. Также добавим ещё несколько констант. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Неторопливо идём к цели, смакуя каждую строчку =) |
|||||
9 | Классный кубик |
1 тест |
|||
На этом уроке мы создадим для кубика отдельный класс. И его отрисовку будем вызывать "как полагается". Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Отличная оптимизация, короче код, приятнее читать =) |
|||||
10 | Перемещение кубика |
|
|||
На этом уроке мы добавим функцию для перемещения кубика. Для её вызова нужно будет написать Главную функцию игры go(). Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Жизнь это движение =) |
|||||
11 | Живой кубик |
1 тест |
|||
На этом уроке мы затавим кубик двигаться. Для этого поместим вызов перемещения и перерисовки в бесконечный цикл. А чтобы увидеть движение кубика - добавим функцию задержки DELAY. Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Вперёд, в бесконечность =) |
|||||
12 | Граница на замке |
1 тест |
|||
На этом уроке мы ограничим движение кубика рамками нашего экрана.
Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: На втором скриншоте частично видна мысль оптимизация для идеальной подгонки размеров окна под игровое поле. На любой ОС проблем не будет. Нужно будет использовать Dimension, который я уже предлагал в курсе Явный Сапёр, нужно эту фишку и тут использовать. з.ы. Надо будет внедрить это на первом уроке следующего вебинара по этому курсу =) |
|||||
13 | Точное прикосновение |
|
|||
На этом уроке произведем коррекцию размеров игрового поля, чтобы кубик точно вписывался в границы окна.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Так как на прошлом уроке решил проблемы размеров игрового поля, то отступы по сути не нужны, но будем идти по курсу не сворачивая, отложил внедрение "деменшен" до следующего вебинара =) |
|||||
14 | Классный шарик |
1 тест |
|||
В этом уроке мы создадим класс для нового героя нашей игры - для шарика.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Кубик штурмует неприступный шарик =) |
|||||
15 | Живой шарик |
1 тест |
|||
На этом уроке мы оживим шарик, напишем/скопируем функции для его передвижения.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Кружатся в ритме "Коко Джамбо" =) |
|||||
16 | Снова рефакторинг |
|
|||
На этом уроке мы займёмся рефакторингом и перенесём функцию onMap в главный класс программы.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Отлично, идём дальше =) |
|||||
17 | Абстрактный субъект |
1 тест |
|||
На этом уроке мы создадим абстрактный класс Subject, в который перенесём повторяемый код из классов Кубика и Шарика. Благодаря Наследованию код классов Cube и Ball станет более компактным. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Урок можно было разбить на 3 урока поменьше: 1 - выносим onMap() 2 - создаём абстрактный класс 3 - удаляем дубликаты и добавляем экстендед к кубику и шарику было бы и со скриншотами компактнее, а то покрывало получилось, плюс из-за телодвижений с дубликатами строк сурсконтрол софт сума сходит, пришлось фотошопить дифф, чтобы он был адекватный =) |
|||||
18 | Базовое наследство |
|
|||
На этом уроке мы избавимся от дублирующегося кода, благодаря наследованию.
Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Отлично, три урока вместо одного смотрятся намного лучше =) |
|||||
19 | Броуновское движение |
1 тест |
|||
На этом уроке создадим экземпляр класса Random Теперь наши субъекты будут появляться в случайных местах и двигаться в разных направлениях. Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Уже идея родилась по поводу реализации визуальной составляющей на основе этой игры, надо будет выбрать время и воплотить для финального видео-обзора =) |
|||||
20 | Размножение шариков |
|
|||
На этом уроке мы добавим несколько шариков на наше поле.
Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Полировка объектов до округлой формы - срезаем углы =) |
|||||
21 | Чудеса полиморфизма |
1 тест |
|||
На этом уроке воспользуемся магией Полиморфизма - Поместим и шарики, и кубики в один массив. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторение пройденного Сложности: найти время Комментарии: Термотетрисная реакция =) |
|||||
22 | Упаковка панели в окно |
|
|||
На этом уроке мы переделаем способ задания размеров карты и экранной формы. Спасибо за помощь Ивану Воронину, который подготовил материал этого урока. Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Ну вот теперь можно не переживать за совместимость с другими ОС или стилями рабочего стола =) |
|||||
23 | Земля и Вода |
1 тест |
|||
На этом уроке мы создадим, как творец, Землю и Воду. Сделаем класс Field для отображения поля всей игры. Напишем метод paint для отображения всей карты. Отчёт отправил: 10558. Иван Воронин Выполнено за 5 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Отличный урок, сотворили землю и воду, двигаемся дальше к сотворению мира Xonix =) |
|||||
24 | Матрица Мира |
1 тест |
|||
На этом уроке мы создадим матрицу нашего поля. Мы должны будем хранить состояние игрового поля и для этого нам потребуется двумерный массив - матрица. Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Добавил функционал проверки есть ли рядом с координатами такой же объект мира как и пытаемся установить, если есть, ищем другое место, если нет, ставим, теперь все 10 ставятся на море, не касаются земли, не касаются друг друга. Отличный урок, идём дальше. |
|||||
25 | Цветовая дифференциация |
|
|||
Когда у общества нет цветовой дифференциации штанов, то нет цели! На этом уроке мы займёмся рефакторингом - негоже использовать цветовую дифференциацию лучше перечислить их в отдельном enum-классе Cell. https://www.youtube.com/watch?v=2FgWNKgSvqY Отчёт отправил: 10558. Иван Воронин Выполнено за 15 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Супер, лучше поздно чем никогда =) з.ы. одна из первых игр, которые я увидел на ПК. ещё на Спектр-001 |
|||||
26 | Острова, острова |
1 тест |
|||
А острова, а острова, где-то ждут нас острова... Всё же карты не всегда бывают правы. А острова, а острова, я найду вас острова! На этом уроке мы вынесем размещение островов в отдельный метод. https://www.youtube.com/watch?v=Zm2VyOL2rHA Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Отличный урок, но я бы метод, который добавляет N-островов назвал бы во множественном числе, добавив буковку s в конце названия, см. скриншот. =) |
|||||
27 | Среда обитания |
1 тест |
|||
На этом уроке мы определим среду обитания для наших субъектов. Кубики живут на суше, шарики на воде. И добавим в абстрактный класс функционал жизнедеятельности субъектов в родной среде обитания. https://www.youtube.com/watch?v=sQHqFBvFt6M // старый урок - QHKMrETJNaI // Отчёт отправил: 10558. Иван Воронин Выполнено за 20 мин. [Показать отчёт] Научился: Закрепил пройденное Сложности: найти время Комментарии: Добавил ещё пару кубиков и шариков. Всё супер, идём дальше. |
|||||
28 | Главный герой |
|
|||
На этом уроке мы создадим класс Xonix и нарисуем главного героя. Земля и вода создана, рыбы и животные резвятся, настало время создать Хониха «из праха земного». Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Отлично, появился главный протагонист =), идём дальше. |
|||||
29 | Клавиши подсознания |
1 тест |
|||
На этом уроке мы создадим слушатель для клавиатуры, чтобы пользователь смог управлять главным героем. Это будет отдельный класс, имплементирующий интерфейс KeyListener. Отчёт отправил: 10558. Иван Воронин Выполнено за 8 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Слушатель клавиш уже использовали, при прохождении курсов по Java, поэтому лишний раз повторил это дело =) отличный урок, наконец наш протагонист научился двигаться туда, куда скажут =) |
|||||
30 | Прыжок в воду |
|
|||
На этом уроке мы научим Хониха "нырять". Добавим флаг статуса - на воде он или на суше, и при выходе в море - проставим первую клетку моста. Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Отличный урок, по поводу движения протагониста, он как змейка, если нажать в противоположную сторону движение и он находится в состоянии рисования пути, то он возвращается в точку, где последний раз был на суше и отнимается одна жизнь =) уже приближаемся к реализации данный правил. |
|||||
31 | Прогулки по воде |
1 тест |
|||
На этом уроке мы научим Хониха правильно ходить по воде. Строить за собой мост и даже превращать следы в землю. https://www.youtube.com/watch?v=Ogh3GjpS07k Отчёт отправил: 10558. Иван Воронин Выполнено за 7 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Отличный урок, идём дальше. |
|||||
32 | Заштриховка области |
1 тест |
|||
Ты квадратик нарисуй, и немножко заштрихуй! На этом уроке мы напишем оригинальный рекурсивный алгоритм заливки области. На этом наша игра практически завершена, остались сплошные мелочи. Подробнее о рекурсии в курсе «Комбинаторика» Отчёт отправил: 10558. Иван Воронин Выполнено за 10 мин. [Показать отчёт] Научился: Повторил пройденное Сложности: найти время Комментарии: Супер урок, я вначале думал заливать области, пока не наткнёшься на шарик, если наткнулся, то отмена заливки и так дальше, но этот вариант куда быстрее и оптимальнее, сразу двух зайцев. Бомба. |
|||||
33 | Живая Легенда |
1 тест |
|||
На этом уроке мы добавим метку для отображения информации. Наша легенда будет показывать приветствие, счёт и сообщение о завершении игры. Отчёт отправил: 10558. Иван Воронин Выполнено за 18 мин. [Показать отчёт] Научился: Отлично, статистика и информации по ситуации в игре это самое важное, чтобы было к чему стремиться и быть в курсе, что происходит =) Сложности: найти время |
|||||
34 | Процент Земли |
1 тест |
|||
На этом уроке мы будем считать процент огороженной земли.
Отчёт отправил: 10558. Иван Воронин Выполнено за 18 мин. [Показать отчёт] Научился: Отличный урок, повторил пройденное, осталось добавить проверку на процент заливки, подсчёт очков и победу, так же цикл запуска очередного уровня =) Сложности: найти время |
|||||
35 | Следующий уровень |
1 тест |
|||
На этом уроке мы сформируем функцию для перехода на следующий уровень игры. Каждый уровень будет сложнее предыдущего - будут добавляться шарики, кубики, острова, увеличиваться скорость игры. Отчёт отправил: 10558. Иван Воронин Выполнено за 11 мин. [Показать отчёт] Научился: Отличная доработка, всё ближе и ближе к финальному штриху =) Сложности: найти время |
|||||
36 | Конец игры |
1 тест |
|||
На этом уроке мы научим шариков и кубиков ловить Хониха. Если они его поймают или ухватятся за путь - игра начнётся заново. Придумайте, что ещё можно добавить в игру. Отчёт отправил: 10558. Иван Воронин Выполнено за 1 час. 24 мин. [Показать отчёт] Научился: 1 - Добавил жизни, изначально 3. 2 - Уменьшил диапазон срабатывания при врезании в xonix или в его путь враждебных объектов. Теперь если они точно попадают в точку с незавершённым путём или в точку самого xonix, тогда срабатывает событие и отнимается жизнь. 3 - Если xonix стоит не двигаясь на земле и прямо на него наехал квадратик, отнимается жизнь и появляется квадратик в новом рандомном месте. 4 - Если xonix движется по воде и в него врезается шарик, то шарик появляется в рандомном месте на воде, а xonix возвращается туда, откуда начал свой путь следования по воде, незавершённый путь отменяется, отнимается жизнь. 5 - При переходе на новый уровень, жизнь увеличивается на 1. 6 - Снизу добавил отображение текущего количества жизней. з.ы. на первом скриншоте почти пройденный 4 уровень, когда попал на 5, на xonix наткнулся квадратик и xonix ушуршар за пределы карты, решил устранить это баг, добавив проверку находится ли он на воде или нет, так если он стоит и ещё не разу не двигался, то координаты возврата были по умолчанию за пределами карты. Поэтому второй скриншот с 5 уровнем, это уже последующая игра, по сути я дважды дошёл до 5 уровня =) Сложности: найти время |
|||||
37 | ФИНАЛЬНЫЙ УРОК |
без видео 1 тест |
|||
Поздравляю с завершением приключений Хониха! Напиши своё впечатление о прохождении этого курса. Что ещё ты хотел бы добавить в эту программу? * Запиши видеообзор созданной программы. Отчёт отправил: 10558. Иван Воронин Выполнено за 3 мин. [Показать отчёт] Научился: Отличный курс, игрушка детства, есть ещё куда пилить, добавил проверку при генерации островков, чтобы они не граничили друг с другом, нужно добавить статистику, обработку столкновений с врагами и лимит попыток, они же жизни =) Сложности: найти время Видеообзор: q6XrnCCmoKI |
|||||
Итого: 37 видеоуроков |
5 час. 15 мин. 28 тестов |
5 чел. | |||
Финалисты: Иван Воронин, Новопашин Владимир, Dmitry Sinitsin, Anatoli, Yefim . |