Тема:
Аргументы
Переменные
Условные операторы
Арифметика
Циклы
Массивы
Цели:
Победи жаждущих огров.
Руководство:
Вступление:
Используйте while цикл над массивом монет от findItems().
Python:
1 2 3 4 5 6 7 |
coins = self.findItems() coinIndex = 0 while coinIndex < len(coins): coin = coins[coinIndex] self.moveXY(coin.pos.x, coin.pos.y) coinIndex += 1 |
JavaScript:
1 2 3 4 5 6 7 8 |
var coins = this.findItems(); var coinIndex = 0; while(coinIndex < coins.length) { var coin = coins[coinIndex]; this.moveXY(coin.pos.x, coin.pos.y); coinIndex += 1; } |
CoffeScript:
1 2 3 4 5 6 7 |
coins = @findItems() coinIndex = 0 while coinIndex < coins.length coin = coins[coinIndex] @moveXY(coin.pos.x, coin.pos.y) coinIndex += 1 |
Clojure:
1 2 3 4 5 6 7 8 |
(def coins (.findItems this)) (def coinIndex 0) (while (< coinIndex (count coins)) (def coin (nth coins coinIndex)) (.moveXY this (.x (.pos coin)) (.y (.pos coin))) (def coinIndex (inc coinIndex)) ) |
LUA:
1 2 3 4 5 6 7 8 |
coins = self:findItems() coinIndex = 1 while coinIndex < #coins do coin = coins[coinIndex] self:moveXY(coin.pos.x, coin.pos.y) coinIndex = coinIndex + 1 end |
Описание:
В этот раз вы будете использовать цикл while для перебора предметов, а не врагов, чтобы добыть золотые монеты.
Как вы можете видеть в коде примера, свойство монеты value может быть использовано для определения типа монеты.
Вызывайте moveXY, чтобы собрать только золотые монеты (со стоимостью 3) и перемещайтесь в координаты pos.x и pos.y.
Золотодобытчик, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Чтобы быстро собрать много золота, просто собирай золотые монеты. loop: coins = self.findItems() coinIndex = 0 # Заключи код в цикл, проверяющий все монеты. while coinIndex < len (coins): coin = coins[coinIndex] # Стоимость золотой монеты равна 3. if coin.value == 3: # Собирайте только золотые монеты. if coin.type = "gold": self.moveXY(coin.pos.x, coin.pos.y) coinIndex += 1 |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
// Чтобы быстро собрать много золота, просто собирай золотые монеты. loop { var coins = this.findItems(); var coinIndex = 0; // Заключи код в цикл, проверяющий все монеты. while(coinIndex < coins.length) { var coin = coins[coinIndex]; // Стоимость золотой монеты равна 3. if (coin.value == 3) { // Собирайте только золотые монеты. this.moveXY(coin.pos.x, coin.pos.y); } coinIndex += 1; } } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Чтобы быстро собрать много золота, просто собирай золотые монеты. loop coins = @findItems() coinIndex = 0 # Заключи код в цикл, проверяющий все монеты. while coinIndex < coins.length coin = coins[coinIndex] # Стоимость золотой монеты равна 3. if coin.value is 3 # Собирайте только золотые монеты. @moveXY(coin.pos.x, coin.pos.y) coinIndex +=1 #@say "Delete this line when your loop is finite." |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
;; Чтобы быстро собрать много золота, просто собирай золотые монеты. (dotimes [n 1000] (def coins (.findItems this)) (def coinIndex 0) ;; Заключи код в цикл, проверяющий все монеты. (while (< coinIndex (count coins)) (def coin (nth coins coinIndex)) ;; Стоимость золотой монеты равна 3. (when (= (.value coin) 3) ;; Собирайте только золотые монеты. (.moveXY this (.x (.pos coin)) (.y (.pos coin))) ) (def coinIndex (inc coinIndex)) ) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
-- Чтобы быстро собрать много золота, просто собирай золотые монеты. loop local coins = self:findItems() local coinIndex = 1 -- Заключи код в цикл, проверяющий все монеты. while coinIndex < #coins do local coin = coins[coinIndex] -- Стоимость золотой монеты равна 3. if coin.value == 3 then -- Собирайте только золотые монеты. self:moveXY(coin.pos.x, coin.pos.y) end coinIndex = coinIndex + 1 end end |
Комментарии: