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

Bloqué au niveau "La Montagne des Mercenaires"

Bonjour a tous.
je suis bloqué sur ce niveau, quelqu’un pourrait m’aider svp?
Voici mon code:

// Gather coins to summon soldiers and have them attack the enemy.

while(true) {
    // Move to the nearest coin.
    // Use move instead of moveXY so you can command constantly.
    var coin = hero.findNearestItem();
    hero.move(coin.pos);
    //hero.say("I need coins!");
    
    // If you have funds for a soldier, summon one.
    if (hero.gold > hero.costOf("soldier")) {
        //hero.say("I should summon something here!");
        hero.summon("soldier");
    }
    var enemy = hero.findNearest(hero.findEnemies());
    if (enemy) {
        
        var soldiers = hero.findFriends();
        var soldierIndex = 0;
        var soldier = soldiers[soldierIndex];
        // Loop over all your soldiers and order them to attack.
        while (soldierIndex < soldiers.length) {
            hero.command(soldier, "attack", enemy);
            soldierIndex++;
        }
            // Use the 'attack' command to make your soldiers attack.
            //hero.command(soldier, "attack", enemy);
    }
}

J’ai trouvé la solution, je la poste ca pourra surement aider quelqu’un.
En fait le problème etait que mes soldier attaqués seulement l’un apres l’autre.
La solution etait de mettre la variable soldier (var soldier = soldiers[soldierIndex]; ) dans la boucle while.
Ce qui donne le code suivant:

Et voila ca fonctionne les soldiers attaquent en meme temps :crazy_face:.
Ah j’oublié aussi de vous dire de supprimer les lignes (hero.say).
A bientôt.

Salut Loc13,

Bienvenue sur le forum!
Vous devez mettre cette ligne :

        var soldier = soldiers[soldierIndex];

à l’intérieur de cette déclaration "while:

        while (soldierIndex < soldiers.length) {

Postez à nouveau si vous avez besoin de plus d’aide.

Jenny

Hi Loc13,

Welcome to the forum!
You need to put this line:

        var soldier = soldiers[soldierIndex];

inside this ‘while’ statement:

        while (soldierIndex < soldiers.length) {

Post again if you need more help.

Jenny

Bravo pour avoir trouvé la solution vous-même !

Cependant, pourriez-vous, s’il vous plaît, retirer le code de travail. L’idée du forum est d’aider les gens à trouver des solutions par eux-mêmes, et non de leur donner des réponses.

Jenny

Well done for working it out yourself!

However, please could you take down the working code. The idea of the forum is to help people work out the solutions on their own, not to tell them the answers.

Jenny

Merci. Je vais retirer le post avec la solution.
Cordialement.

-------- Message d’origine --------

Привет и добро пожаловать на дискурс codecombat! Это уютный форум, где вы можете поделиться идеями, поделиться фан-артом, получить помощь в написании кода и т. Д.! Прежде чем продолжить, мы надеемся, что вы ознакомитесь с [этой темой] (Welcome to CodeCombat Discourse Forums!), в которой показаны все основные сведения об этой доске! Благодаря!

Извини я не говорю по русски

@Dragonlouis did you mean to post that somewhere else? This is a French language topic, not Russian…
Danny

1 Like

@Deadpool198, either that or someone changed everything in this topic to french…

I can assure you that didn’t happen.
Anyway we’re getting off topic. This topic is solved so lets leave it. :smile:
Danny

This topic was automatically closed 12 hours after the last reply. New replies are no longer allowed.