Programming | Part#15
Вот значит мы и подошли к завершению нашей тренировочной игры с кругами, через две недели начинаем превращать ее в «игру с пиксельным человечеком, монстрами и прочим»=)
А пока что заканчиваем:
Вот значит мы и подошли к завершению нашей тренировочной игры с кругами, через две недели начинаем превращать ее в «игру с пиксельным человечеком, монстрами и прочим»=)
А пока что заканчиваем:
Было несколько сообщений на тему, что не получается сделать границы для кругов и они все равно вылетают за экран. Показываю как это делается:
public void moveOnStep() { x += dx; y += dy; checkBounds(); } private void checkBounds() { if (x>GameManager.getWidht() || x<0) { dx = -dx; } if (y>GameManager.getHeight()||y<0){ dy=-dy; }
Надеюсь, что цветные круги у всех получились. Продолжаем начатое
Доброго времени суток всем, или недоброго. В связи с последними событиями в моей жизни, решил сделать «антимотивационный» пост на тему программирования, а именно – «Почему плохо быть программистом». На данный момент я отработал как во фрилансе так и в различных компаниях специализирующихся на разработке ПО. Я делал по 6-10 приложений для АйОси в день (норматив такой был в одной компании), писал движки для андройд-игрушек, отлавливал баги в C#-прогах и занимался вообще всем чем только можно будучи фрилансером, в итоге я точно могу сказать, что далеко не всегда я был рад выбранной профессии. Почему? Для начала тезисно:
Продолжаем делать игрушку =)
В прошлый раз мы добавили наследование. Теперь создадим коллекцию вражеских объектов. Поехали!
В данном посте речь пойдет про наследование. Допустим, что если нам нужен не один круг, а много т.е. прототипы наших будущих монстров-врагов и нашей еды. Значит нужен еще один небольшой рефакторинг.
И снова пост про нашу игрушку, продолжаем начатое.
Основное в нашей игрушке (как несложно догадаться) — это движение, для движения мы должны касаться экрана, следовательно прикосновение экрана нужно как то «отловить». Итак, как это сделать. Для начала создадим интерфейс через который будет работать GameManager:
public interface IViewCanvas { void drawCircle(MainCircle circle); }
Таким образом мы разделили данные и логику управления этими самыми данными. Еще один небольшой рефакторинг, поскольку добавился интерфейс для работы GameManager’a — уберем оттуда все лишнее:
Продолжаем. В прошлом посте мы определились с тем, что за аппу мы будем делать — это ИГРА (ну кто бы сомневался xD). И сегодня мы начинаем разработку.
Ну что, поскольку проголосовавших было мало (гады вы все! по гугл-аналитике пост прочитало 500+ человек и всего 4 коммента!) и все выбрали Джаву (чтоб ее), то будем кодить на джаве.
Я уже говорил — учить «хелоу ворлду» не буду, это можно прекрасно и по книжкам пройти, так что сразу будем делать игру, простую по геймплею и самой идее, но не такую простую в плане реализации.
Про игру.
Все максимально просто. На игровом поле мы управляем нашим персонажем (пиксельный человечек), который должен есть фрукты перемещающиеся вокруг него и уворачиваться от монстров (также перемещающихся рядом), с каждым новым фруктом человечек становится больше соответственно уворачиваться от монстров труднее. Цель — съесть все фрукты на поле.
Почему игра?
Думаю этих причин хватит, отмечу только, что при разработке игр используется намного больше возможностей и учиться на таком примере гораздо полезнее.
Что нужно.
Установите любую среду разработки под андройд (сам я буду пользоваться Андройд студией, заодно и 2ую версию потестю), вы же можете поставить IntelliJ IDEA. Плюс к этому jdk и android sdk. Все это легко ищется через гугл.
Пожалуй на сегодня хватит, перегружать пост кодом и прочим в этот раз не буду. На следующей неделе — старт разработки.