Code Every Day 🚀
30 subscribers
687 photos
243 videos
22 files
174 links
Просто для развлечения
Download Telegram
👉 Состояние игры описано моделью
👉 Ориентироваться в коде, который весь в одном файле сложно, поэтому сделал паузу и реорганизовал код
По итогу некоторая общая логика ушла в свои методы
This media is not supported in your browser
VIEW IN TELEGRAM
Основы KorGE: Орел облетает камни

🎯 В продолжении прототипа игры про Орла, который любит вишню, добавил падающие с неба камни, которые Орел должен облетать. Если камень попадет в Орла, то game over

👉 Пример работы на демо
#KorGE
Код, отвечающий за создание падающих камней:
👉 генерирует камни вверху экрана в случайном месте раз в 3 секунды
👉 далее камень летит вниз (координата x не меняется)
👉 при столкновении Орла и камня, удаляем все View с экрана и выводим View с текстом Game Over
Основы KorGE: Добавление состояия игры и рефакторинг кода игры

🎯 Сегодня сделал паузу и привел немного код в порядок:
👉 добавил разные состояния игры и все это упаковал в основной класс состояния игры https://github.com/TheELizarov/korge-playground-1/blob/playground/game-eagle-collect-cherry/src/commonMain/kotlin/state/EagleAndCherryGameState.kt
👉 код игры подправил с учетом появления состояния игры, добавил комментарии, разнес по методам https://github.com/TheELizarov/korge-playground-1/blob/playground/game-eagle-collect-cherry/src/commonMain/kotlin/mainGameEagleCollectCherry.kt

Получилось выразительнее и чище
#KorGE
This media is not supported in your browser
VIEW IN TELEGRAM
Основы KorGE: Добавим жизни Орлу

🎯 В прошлых прототипах игра заканчивалась, если камень попадал в орла сразу. Решил добавить поддержку нескольких жизней персонажу.

Для игры добавлено поле GameState.life, которое можно изменять двумя методами
👉 GameState.health() - увеличивает количество жизней у игрока
👉 GameState.damage() - уменьшает количество жизней у игрока

Также на игровое поле выводится количество оставшихся жизней.

Пример на демо
#KorGE
👉 Детали по коду на скриншотах
This media is not supported in your browser
VIEW IN TELEGRAM
Основы KorGE: Добавим жизни Орлу и визуализируем это

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

👉 Пример на демо
#KorGE
По коду:
👉 использовал UIHorizontalStack в качестве layout менеджера
👉 чтобы вывести нужную картинку, взял первый кадр спрайта и упаковал его в UIImage

Примечание
Про работу с UI средствами движка попозже сделаю прототип, когда буду делать экран меню, настроек и стартовый экран, там будет все построено на этих компонентах, пока просто интуитивно использую подходящие