Тема:
Аргументы
Строки
Переменные
Циклы
Условные операторы
Обработка ввода
Цели:
Уничтожь всех огров.
Собери все монеты.
Руководство:
Информация
Объедините всё что вы знаете, чтобы пробраться через рощу! Запомните while-true loops, if/else, flags, cleave(), attack(), pos, и moveXY().
Анализ
Объединить все, что вы знаете о if/else, используйте флаги, ваши особые способности и получите доступ к координаты х и у из объектов pos, чтобы очистить луга от всех монет и врагов.
Вам нужно использовать pickUpFlag, чтобы перемещать героя между лугами, attack и cleave, чтобы убивать врагов, и moveXY, чтобы идти к позиции объектов-монет, которые вы видите.
Совет: помните, что вы должны нажать Выполнить, прежде чем вы сможете размещать флаги. Эти карты рандомизированные, так что они будут меняться каждый раз.
Награда:
Богатый Фуражир, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Используй "if" или "else if" для принятия решений в любой ситуации. # Совмести их чтобы собрать монеты и победить врагов! # Рекомендовано иметь 400 ед. здоровья. Убедись, что купил хорошую броню. loop: flag = self.findFlag() enemy = self.findNearestEnemy() item = self.findNearestItem() if flag: # Что делать когда я вижу флаг? self.pickUpFlag(flag) elif enemy: # Что делать когда я обнаружу противника? if self.distanceTo(enemy)<5: if self.isReady("cleave"): self.cleave(enemy) self.attack(enemy) elif item: # Что делать когда я нахожу предметы? self.moveXY(item.pos.x, item.pos.y) |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// Используй "if" или "else if" для принятия решений в любой ситуации. // Совмести их чтобы собрать монеты и победить врагов! // Рекомендовано иметь 400 ед. здоровья. Убедись, что купил хорошую броню. loop{ var flag = this.findFlag(); var enemy = this.findNearestEnemy(); var item = this.findNearestItem(); if (flag) { this.pickUpFlag(flag); } else if (enemy) { if (this.distanceTo(enemy) < 5 && this.isReady("cleave")) { this.cleave(enemy); } else { this.attack(enemy); } } else if (item) { this.moveXY(item.pos.x, item.pos.y); } } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# Используй "if" или "else if" для принятия решений в любой ситуации. # Совмести их чтобы собрать монеты и победить врагов! # Рекомендовано иметь 400 ед. здоровья. Убедись, что купил хорошую броню. loop #@say "Delete this when your loop isn't infinite." flag = @findFlag() enemy = @findNearestEnemy() item = @findNearestItem() if flag # Что делать когда я вижу флаг? @pickUpFlag(flag) else if enemy # Что делать когда я обнаружу противника? if @distanceTo(enemy)<5 and @isReady "cleave" @cleave enemy else @attack enemy else if item # Что делать когда я нахожу предметы? @moveXY item.pos.x, item.pos.y else @say "wait" |
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 |
;; Используй "if" или "else if" для принятия решений в любой ситуации. ;; Совмести их чтобы собрать монеты и победить врагов! ;; Рекомендовано иметь 400 ед. здоровья. Убедись, что купил хорошую броню. (dotimes [n 10000] (def flag (.findFlag this)) (def enemy (.findNearestEnemy this)) (def item (.findNearestItem this)) (if flag ;; <%= flag %> (.pickUpFlag this flag) (if enemy ;; <%= enemy %> (when true (when (and (< (.distanceTo this enemy) 5) (.isReady this "cleave")) (.cleave this enemy) ) (.attack this enemy) ) (when item ;; <%= item %> (.moveXY this (.x (.pos item)) (.y (.pos item))) ) ) ) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
-- Используй "if" или "else if" для принятия решений в любой ситуации. -- Совмести их чтобы собрать монеты и победить врагов! -- Рекомендовано иметь 400 ед. здоровья. Убедись, что купил хорошую броню. loop local flag = self:findFlag() local enemy = self:findNearestEnemy() local item = self:findNearestItem() if flag then -- Что делать когда я вижу флаг? self:pickUpFlag(flag) elseif enemy then -- Что делать когда я обнаружу противника? if self:isReady("cleave") and self:distanceTo(enemy)<5 then self:cleave(enemy) else self:attack(enemy) end elseif item then -- Что делать когда я нахожу предметы? self:moveXY(item.pos.x, item.pos.y) end end |
Комментарии: