Тема:
Переменные
Строки
Условные операторы
Арифметика
Циклы
Массивы
Цели:
Победи жаждущих огров.
Руководство:
Вступление:
Используйте while цикл, для того чтобы рассмотреть множество врагов. Атакуй противника, если его тип не является «sand-yak»!
Описание:
Используйте цикл while с условием: enemyIndex меньше чем размер массива врагов. Это позволит атаковать всех огров. Не забывайте увеличивать счетчик enemyIndex на каждой итерации!
При нападении, используйте цикл while с условием: enemy.health больше нуля. Таким образом, Ваш герой будет атаковать до тех пор, пока противник не будет повержен.
Пастух Сарвена, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Используй цикл "while", чтобы выбрать огра loop: enemies = self.findEnemies() enemyIndex = 0 # Расположите это в цикле "while", чтобы атаковать всех врагов. # Find the array's length with: len(enemies) while enemyIndex < len (enemies): enemy = enemies[enemyIndex] # "!=" значит "не равно". if enemy.type != "sand-yak": # Атакуй врага, пока его здоровье больше 0! while enemy.health > 0: if self.isReady("cleave"): self.cleave(enemy) else if self.isReady("bash"): self.bash(enemy) else: self.attack(enemy) enemyIndex += 1 # Между волнами возвращайся в центр. self.moveXY(40, 33) |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
// Используй цикл "while", чтобы выбрать огра loop { var enemies = this.findEnemies(); var enemyIndex = 0; // Расположите это в цикле "while", чтобы атаковать всех врагов. // Find the array's length with: enemies.length while (enemyIndex < enemies.length){ var enemy = enemies[enemyIndex]; // "!=" значит "не равно". if (enemy.type != "sand-yak") { // Атакуй врага, пока его здоровье больше 0! while (enemy.health>0) { if (this.isReady("cleave")){ this.cleave(enemy); } else if (this.isReady("bash")){ this.bash(enemy); } else { this.attack(enemy); } } } enemyIndex +=1; } // Между волнами возвращайся в центр. this.moveXY(40, 33); } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Используй цикл "while", чтобы выбрать огра while true # @say "Delete this line when your loop is finite." enemies = @findEnemies() enemyIndex = 0 # Расположите это в цикле "while", чтобы атаковать всех врагов. # Find the array's length with: enemies.length while enemyIndex < enemies.length enemy = enemies[enemyIndex] # "!=" значит "не равно". if enemy.type isnt "sand-yak" while enemy.health > 0 # Атакуй врага, пока его здоровье больше 0! if @isReady "cleave" @cleave enemy else if @isReady "bash" @bash enemy else @attack enemy enemyIndex +=1 # Между волнами возвращайся в центр. @moveXY 40, 33 |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
;; Используй цикл "while", чтобы выбрать огра (dotimes [n 1000] (def enemies (.findEnemies this)) (def enemyIndex 0) ;; Расположите это в цикле "while", чтобы атаковать всех врагов. ;; Find the array's length with: (count enemies) (while (< enemyIndex (count enemies)) (def enemy (nth enemies enemyIndex)) (when (not= (.type enemy) "sand-yak") (while (> (.health enemy) 0) ;; Атакуй врага, пока его здоровье больше 0! (if (.isReady this "cleave") (.cleave this enemy) (if (.isReady this "bash") (.bash this enemy) (.attack this enemy) ) ) ) ) (def enemyIndex (inc enemyIndex)) ) ;; Между волнами возвращайся в центр. (.moveXY this 40 32) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
-- Используй цикл "while", чтобы выбрать огра loop local enemies = self:findEnemies() local enemyIndex = 1 -- Расположите это в цикле "while", чтобы атаковать всех врагов. while enemyIndex <= #enemies do local enemy = enemies[enemyIndex] -- "~=" значит "не равно". if enemy.type ~= "sand-yak" then while enemy.health > 0 do if self:isReady "cleave" then self:cleave(enemy) elseif self:isReady "bash" then self:bash(enemy) else self:attack(enemy) end end -- Атакуй врага, пока его здоровье больше 0! end enemyIndex = enemyIndex+ 1 end -- Между волнами возвращайся в центр. self:moveXY(40, 33) end |
Комментарии: