Categories: Programming

Programming | MonsterHunter | Part#2

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


Categories: Programming

Programming | MonsterHunter | Part#1

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

«На игровом поле мы управляем нашим персонажем (пиксельный человечек), который должен есть фрукты перемещающиеся вокруг него и уворачиваться от монстров (также перемещающихся рядом), с каждым новым фруктом человечек становится больше соответственно уворачиваться от монстров труднее. Цель — съесть все фрукты на поле.»

Проапгрейдим идею: После поедания всех фруктов и тем самым набравшись сил — необходимо убить монстров, это у будет «WIN!».


Categories: Programming

Programming | Part#15

Вот значит мы и подошли к завершению нашей тренировочной игры с кругами, через две недели начинаем превращать ее в «игру с пиксельным человечеком, монстрами и прочим»=)

А пока что заканчиваем:


Categories: Programming

Programming | Part#14

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

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;
    }


Categories: Programming

Programming | Part#13

Надеюсь, что цветные круги у всех получились. Продолжаем начатое


Categories: My Life, Programming

Почему плохо быть программистом

Доброго времени суток всем, или недоброго. В связи с последними событиями в моей жизни, решил сделать «антимотивационный» пост на тему программирования, а именно – «Почему плохо быть программистом». На данный момент я отработал как во фрилансе так и в различных компаниях специализирующихся на разработке ПО. Я делал по 6-10 приложений для АйОси в день (норматив такой был в одной компании), писал движки для андройд-игрушек, отлавливал баги в C#-прогах и занимался вообще всем чем только можно будучи фрилансером, в итоге я точно могу сказать, что далеко не всегда я был рад выбранной профессии. Почему? Для начала тезисно:


Categories: Programming

Programming | Part#12

Продолжаем делать игрушку =)


Categories: Programming

Programming | Part#11

В прошлый раз мы добавили наследование. Теперь создадим коллекцию вражеских объектов. Поехали!


Categories: Programming

Programming | Part#10

Продолжаем начатое.

В данном посте речь пойдет про наследование. Допустим, что если нам нужен не один круг, а много т.е. прототипы наших будущих монстров-врагов и нашей еды. Значит нужен еще один небольшой рефакторинг.


Categories: Programming

Programming | Part#9

И снова пост про нашу игрушку, продолжаем начатое.

Основное в нашей игрушке (как несложно догадаться) — это движение, для движения мы должны касаться экрана, следовательно прикосновение экрана нужно как то «отловить». Итак, как это сделать. Для начала создадим интерфейс через который будет работать GameManager:

public interface IViewCanvas {
    void drawCircle(MainCircle circle);
}

Таким образом мы разделили данные и логику управления этими самыми данными. Еще один небольшой рефакторинг, поскольку добавился интерфейс для работы GameManager’a — уберем оттуда все лишнее: