enemy.attackRange

Всех приветствую.
Подскажите, пожалуйста, есть ли возможность узнать attackRange друга или врага? Что-то на подобии enemy.attackRange ?

Привет @naborbukv и добро пожаловать на форум! :partying_face: Это дружелюбное место, где вы можете попросить помощи на уровнях, сообщить об ошибках или просто поболтать с другими кодерами! Не забудьте прочитать руководство, если вы еще не сделали этого. Желаю хорошо провести время!

Что касается вашего вопроса, он зависит от того, есть ли у юнита свойство “attackRange()” или нет, поскольку оно различается между уровнем и уровнем.

1 Like

Aya, речь идёт про уровень: CodeCombat - Coding games to learn Python and JavaScript?
attackRange это свойсвто или метод attackRange() ?

могу ли я каким-то образом проверить наличие у объекта свойства по имени этого свойства? что-нибудь на подобии hasattr()

К сожалению, я не подписчик, поэтому не могу получить доступ к коду. Я имел в виду метод свойств, так что это одно и то же. За исключением того, что на некоторых уровнях вы можете сказать “friend.attackRange()”, и это не даст вам ошибки, тогда как на разных уровнях это может дать вам ошибку.

1 Like

"на некоторых уровнях вы можете сказать “ friend.attackRange()
I can’t remember a single case where this is possible. Till now I have been using only hero.attackRange and enemyHero.attackRange. Can you post a link to some level with successful enemy.attackRange and friend.attackRange?
in every level without any book you can use:

enemyHero = [e for e in hero.findEnemies() if e.id in ["Hero Placeholder", "Hero Placeholder 1"]][0]
# check console output:
console.log('attackRange:',enemyHero.attackRange)
1 Like

A series of experiments showed that
here (zero-sum)

if enemy.type in ['soldier','griffin-rider']:
    hero.debug(enemy.attackRange) #it's OK
if enemy.type in ['paladin','cage']:
    hero.debug(enemy.attackRange) #it's Error
1 Like

so tested it in the same level
griffin.attackRange : 20
soldier.attackRange : 3
I have no idea why this is working somehow. In the level Grim Determination it isn’t possible:

I cannot grasp the logic…
Bryukh can explain that but i don’t know his time zone…

1 Like

Thanks. I will take this feature into account.
I plan to use this data to solve similar problems

Thank you for the warm welcome :grinning:

1 Like