Домашнее задание 1 и 2 к уроку 25

SFML и C++ Уроки \ Разработка игр Форумы Домашние задания Домашнее задание 1 и 2 к уроку 25

В этой теме 1 ответ, 2 участника, последнее обновление vazonov11 vazonov11 6 мес. назад.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Сообщения
  • #3774
    +1

    LoSyAsH
    Участник
    Сообщений:0

    Зарегистрирован:
    13.05.2016

    Репутация:1

    Задание 1:

    Хотел использовать класс Time, но не успел разобраться с ним, поэтому сделал по-другому.

    В начале мейна определяю задержку до старта таймера смены направления.

    Изменил задание врагов, добавляя к ним задержку

    И добавил это в update врага

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

    Задание 2:

    Завёл массив флагов для проверки, находится ли игрок в зоне каждого врага и лист указателей на врагов, к которым игрок подошёл слишком близко.

    Проходимся в цикле по врагам. Если игрок слишком близко, то заносим указатель на этого врага в лист b, изменяем скорость врага и направляем в сторону игрока, поднимаем флаг нахождения игрока в радиусе данного врага. Проверяем пересечение врага с solid и если пересекаются, то останавливаем его.

    Если игрок далеко от врага и флаг данного врага поднят (то есть игрок подошёл к врагу, а затем отошёл), то возвращаем ему старое ускорение (но в противоположную сторону) и опускаем флаг.

    Ну а в конце, если нашёлся хотя бы один враг рядом с игроком, то проходимся по всем найденным врагам и выводим над ними надписи.

     

     

    #3852
    vazonov11
    vazonov11
    Участник
    Сообщений:1

    Зарегистрирован:
    31.05.2016

    Репутация:0

    Познавательный пост.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)

Для ответа в этой теме необходимо авторизоваться.