Сложность (при выборе героя)


#1

Здравствуйте. Может тупой вопрос, но, за что отвечает пункт “сложность (легкий / нормальный / сложный)” при выборе героя?

Ну и тогда такой вопрос: Если я учусь программировать, не в игрушки играю, то какой уровень выбрать для старта? Или без разницы?


#2

Я так понимаю, сложность программирования героя. У рыцарей все просто.

hero.attack()
hero.shield()
hero.bash()

  • кольца и перчатки - но их мало

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

  • кольца и перчатки

А рейнджеры, видимо, совсем сложный класс - за них я не играл.


#3

Для примера. Вот мой код атаки для рыцаря

def attack(target):
    if target:
        if (hero.distanceTo(target) > 10):
            moveTo(target.pos)
        elif (hero.isReady("bash")):
            hero.bash(target)
        elif (hero.isReady("power-up")):
            hero.powerUp()
            hero.attack(target)
        elif (hero.isReady("cleave")):
            hero.cleave(target)
        elif (hero.canCast('chain-lightning', target)):
            hero.cast('chain-lightning', target)
        else:
            hero.attack(target)
            hero.shield()

А вот для колдуна

def attack():
    target = findTarget()
    if target:
        if (hero.canCast('summon-burl', hero)):
            hero.cast('summon-burl')
        elif (hero.canCast('summon-undead')):
            hero.cast('summon-undead')
        elif (hero.canCast('invisibility', self)):
            hero.cast('invisibility', self)
        elif (hero.canCast('raise-dead')):
            hero.cast('raise-dead')
        elif (hero.canCast('drain-life', target)):
            hero.cast('drain-life', target)
        elif (hero.canCast('poison-cloud', target)):
            hero.cast('poison-cloud', target)
        elif (hero.canCast('fear', target)):
            hero.cast('fear', target)
        else:
            if (hero.canCast('earthskin', self)):
                hero.cast('earthskin', self)
            elif (hero.canCast('chain-lightning', target)):
                hero.cast('chain-lightning', target)
            elif (hero.distanceTo(target) > 100):
                moveTo(target.pos)
            elif (hero.isReady("attack")):
               hero.attack(target)

#4

Примерно понял, спасибо.