Play Home Contribute Github Join Us! Discourse Staff Members Github Contribution Guides Team

Не могу пройти уровень " Столкновение клонов"

well, what i did for this level is i made the code so that it first checks for a flag, and if there is no flag then attack. If you can figure out how to do that, then you can kill the archers by setting a flag where you want to go, then attacking when there is no flag.

Скопировал код, из второго акта в конце.
Тут главное чтобы броня и оружие было хорошее, только нужно помнить что у клона такая же броня и оружие, поэтому сразу втыкайте черный флаг в нижних лучников противника, вызвав Клив, дальше герой начнет рубить лучников, нужно по максимуму вырубить лучников, в идеале оставить 1 или вообще всех убить, дальше начинаете убегать от своего клона и рубить скаутов которые респятся снизу, при условии что у вас 2000 жизней изначально, даже оставив 300хп у них втроем нет шансов от хорошего меча. Ваши лучники пока живы будут, помогут вам срубить всех клонов, в том числе скорее всего и клона героя, и вам останется добить респившихся скаутов, повторюсь если у вас мощная броня и меч с возможностью клив, вы должны выжить.

while(true) {
var green = hero.findFlag(“green”);
var black = hero.findFlag(“black”);
var violet = hero.findFlag(“violet”);
var nearest = hero.findNearestEnemy();
if (green) {
hero.pickUpFlag(green);
} else if (black && hero.isReady(“cleave”)) {
hero.pickUpFlag(black);
// Руби!
hero.cleave();
} else if (nearest && hero.distanceTo(nearest) < 10) {
// Атакуй!
var enemy = hero.findNearestEnemy();
hero.attack(enemy);
}
}

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

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

1 Like

Please learn to post your code correctly. The way it is now, we can’t see the structure. Help us help you. It’s very easy to do and just takes a tiny bit of effort. Please read this topic and format your code again correctly

Мужики мой код, рабочий, пользуйтесь.

while(true) {
var enemies = hero.findEnemies();
var IndexEnemy = 0;
var flag = hero.findFlag();

while(IndexEnemy < enemies.length) {
    var enemy = enemies[IndexEnemy];
  //Сначало убиваем Лучников они слабы, но много наносят урона
    if(enemy.type === "archer"){
    if (hero.isReady("cleave")) {
        hero.cleave(enemy);
    }else{
        hero.attack(enemy);
        }
    }
    //Теперь убиваем своего клона
    if(enemy.type === "tarin"){
    if (hero.isReady("cleave")) {
        hero.cleave(enemy);
    }else{
        hero.attack(enemy);
        }
    }
    
    
    IndexEnemy++;
}

if (enemy) {
    hero.attack(enemy);
}

}

У меня вот так сработало

def cleave_attack():
    if hero.isReady("cleave"):
        hero.cleave(enemy)
    else:
        hero.attack(enemy)

while True:
    enemies = hero.findEnemies()
    enemyIndex = 0
    while enemyIndex<len(enemies):
        enemy = enemies[enemyIndex]
        if hero.health > hero.maxHealth / 3:
            if enemy.type == "archer":
#атакую только лучников, на других все равно жизни не хватает
                while enemy.health>0:
                    cleave_attack(enemy)
            if hero.distanceTo(enemy) < 15:
                cleave_attack(enemy)
        else:
            hero.moveXY(60, 69)
        enemyIndex += 1