Ответ в теме: Обнаружение персонажа врагом

SFML и C++ Уроки \ Разработка игр Форумы Логика игр Обнаружение персонажа врагом Ответ в теме: Обнаружение персонажа врагом

#1314
Павел Букреев
Павел Букреев
Хранитель
Сообщений:586

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

Репутация:104

Но как чекнуть что сена перед игроком а не за?  За координатами игрока и стены ?


если стена перед игроком, значит она должна быть и перед врагом.

можно попробовать как сказал Heisenberg – расстояния.

у тебя игрок &, стена |, враг E.

предположим что наши символы и есть игрок стена враг и смоделируем такую ситуацию:
& | E
тогда имеем условие:
если (у игрока по иксу правее есть стена) и (у врага по иксу левее есть стена) и (икс врага больше чем х игрока), то {враг не видит игрока;}
разумеется это не единственное условие и не единственная ситуация. но можно попробовать по аналогии и со следующими.

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

это все из головы. может там на деле нюансы всплывут какие.. а может и прокатит. попробуй )