// Чтобы отключить огненные ловушки, сложи наименьшее и наибольшее значения `trap.value`
// Иди к белой отметке X и скажи Китти результат.
// Сокруши всех огров, если осмелишься.
// Как только все огры повержены, иди на красную отметку X
// Ищи зелье, чтобы поправить здоровье.
var whiteX = {x:27, y:42};
var redX = {x:151 , y: 118};
while(true) {
var fultrap = null;
var nultrap = null;
var trapsIndex = 0;
var maxTrap = 9999;
var minTrap = 0;
var trapfire = hero.findByType("fire-trap");
while(trapfire.length > trapsIndex) {
var trap = trapfire[trapsIndex];
if ( trap.value < maxTrap){
fultrap = trap;
maxTrap = fultrap.value;
}
if (trap.value > minTrap){
nultrap = trap;
minTrap = nultrap.value;
}
trapsIndex++;
}
hero.moveXY(27, 42);
hero.say(maxTrap.value + minTrap.value );
break;
}
while(true) {
var maxDistance = 0;
var enemyIndex = 0;
var asteroid = null;
var enemies = hero.findEnemies();
while(enemies.length > enemyIndex) {
var enemy = enemies[enemyIndex];
enemyIndex++;
var distance = hero.distanceTo(enemy);
if (distance > maxDistance){
maxDistance = distance;
asteroid = enemy;
}
if (asteroid){
hero.attack(asteroid);
}else{
hero.moveXY(151, 118);
}
}
break;
}
Пожалуйста, помогите мне понять, почему этот код не работает.
Когда появляются враги, он не атакует!
Даже не говори ничего Кити!
Не понимаю\ я заменил и все равно не работает.
for - это операторы pyton-- разве нет? я пищу на JS.
Я поменял
while true loop
на
while loop
… пращу помоги понять
// Чтобы отключить огненные ловушки, сложи наименьшее и наибольшее значения `trap.value`
// Иди к белой отметке X и скажи Китти результат.
// Сокруши всех огров, если осмелишься.
// Как только все огры повержены, иди на красную отметку X
// Ищи зелье, чтобы поправить здоровье.
var whiteX = {x:27, y:42};
var redX = {x:151 , y: 118};
while(true) {
var fultrap = null;
var nultrap = null;
var trapsIndex = 0;
var maxTrap = 9999;
var minTrap = 0;
var trapfire = hero.findByType("fire-trap");
while (trapfire.length > trapsIndex) {
var trap = trapfire[trapsIndex];
if ( trap.value > maxTrap){
fultrap = trap;
maxTrap = fultrap.value;
}
if (trap.value < minTrap){
nultrap = trap;
minTrap = nultrap.value;
}
trapsIndex++;
}
var trapsum = (minTrap.value + maxTrap.value);
hero.moveXY(27, 42);
pet.say(trapsum);
break;
}
while(true) {
var maxDistance = 0;
var enemyIndex = 0;
var asteroid = null;
var enemies = hero.findEnemies();
while(enemies.length > enemyIndex) {
var enemy = enemies[enemyIndex];
enemyIndex++;
var distance = hero.distanceTo(enemy);
if (distance > maxDistance){
maxDistance = distance;
asteroid = enemy;
}
if (asteroid){
hero.attack(asteroid);
}else{
hero.moveXY(151, 118);
}
}
}
С помощью этого кода максимальные и минимальные значения никогда не будут достигнуты, поскольку максимальное значение никогда не будет больше 9999, а минимальное никогда не будет меньше нуля.