Тема:
Базовый синтаксис
Аргументы
Циклы
Условные операторы
Переменные
Обработка ввода
Цели:
Победить врагов
Дополнительно: заманить огров в засаду
Ваш герой должен выжить
Руководство:
Информация
Постарайтесь привести огров в засаду.
Обзор
Напишите свой код, используя findFlag и pickupFlag, так что бы вы смогли использовать флаги, для контроля, когда и где ваш герой присоединится к битве.
Вы можете также найти distanceTo полезно для предотвращения своего героя от ругани accross карте.
Если ваше здоровье становится низким, отступайте!
Помните, что вы должны нажать «Завершить» для того, чтобы иметь возможность размещать флаги.
Совет: Попадание в большую группу огров может быть опасным. Попробуйте заставьте их преследовать вас, а затем заманите их к вашим союзникам.
Награда:
Защити фермера, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# Используйте флаги, чтобы присоединиться к битве или отступить. # If you fail, press Submit again for new random enemies and try again! # You'll want at least 300 health, if not more. loop: enemy = self.findNearestEnemy() flag = self.findFlag() if flag: # Подберите флаг. #pass self.pickUpFlag(flag) elif enemy: # Сражайся! #pass if self.distanceTo(enemy)<5: if self.isReady("cleave"): self.cleave(enemy) else: self.attack(enemy) |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Используйте флаги, чтобы присоединиться к битве или отступить. // If you fail, press Submit again for new random enemies and try again! // You'll want at least 300 health, if not more. loop { var enemy = this.findNearestEnemy(); var flag = this.findFlag(); if(flag) { // Подберите флаг. this.pickUpFlag(flag); } else if (enemy) { // Сражайся! if (this.distanceTo(enemy)<5){ if (this.isReady("cleave")){ this.cleave(enemy); } else { this.attack(enemy); } } } } |
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 you fail, press Submit again for new random enemies and try again! # You'll want at least 300 health, if not more. loop enemy = @findNearestEnemy() flag = @findFlag() if flag # Подберите флаг. # null @pickUpFlag(flag) else if enemy # Сражайся! #null if @distanceTo(target)<5 if @isReady "cleave" @cleave enemy else @attack enemy else @shield() else #@say "Delete this line once your loop is finite." @shield() |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
;; Используйте флаги, чтобы присоединиться к битве или отступить. ;; If you fail, press Submit again for new random enemies and try again! ;; You'll want at least 300 health, if not more. (dotimes [n 1000] (def enemy (.findNearestEnemy this)) (def flag (.findFlag this)) (if flag ;; Подберите флаг. (.pickUpFlag this flag) ;; Сражайся! (when true (if enemy (if (< (.distanceTo this enemy) 10) (if (.isReady this "cleave") (.cleave this enemy) (.attack this enemy)) (.shield this) ) (.shield this) )) )) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
-- Используйте флаги, чтобы присоединиться к битве или отступить. -- If you fail, press Submit again for new random enemies and try again! -- You'll want at least 300 health, if not more. loop local enemy = self:findNearestEnemy() local flag = self:findFlag() if flag then -- Подберите флаг. self:pickUpFlag(flag) elseif enemy then -- Сражайся! if self:distanceTo(enemy)<5 then if self:isReady("cleave") then self:cleave(enemy) else self:attack(enemy) end else self:shield() end end end |
Комментарии: