Тема:
Арифметика
Условные операторы
Аргументы
Циклы
Булевая логика
Переменные
Цели:
Огры должны умиреть.
Руководство:
Введение:
Это большая группа людоедов!
Используйте функцию которая возвращает значение, должен ли герой отступить.
Сражайтесь, пока у вас больше половины здорвья.
Описание:
Эти людоеды опасно умные. Они не будут преследовать героя, если у него больше половины своего максимального запаса здоровья.
Но, если ваш герой будет серьёзно травмирован, они могут подумать, что ваше поражение реально.
Деритесь, пока ваше здоровье не будет достаточно низким, а затем бегите к знаку X .
Функция shouldRun() будет проверять, достаточно ли вы здровы, чтобы продолжать сражаться. Используй возвращаемое значение, чтобы увидеть, должен ли герой продолжать бороться или пора отступать.
Награда:
Могучий Песчаный Як, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Заманите огров в ловушку. # Но, они осторожны. # Эти людоеды будут приследовать героя, только если он получил травмы. # Эта функция проверяет состояние здоровья героя и возвращает логическое значение. def shouldRun(): if self.health < self.maxHealth / 2: return True else: return False while True: # Бегите к X только если shouldRun(). if shouldRun(): self.moveXY(75, 37) else: # В противном случае, сражайтесь ! enemy = self.findNearestEnemy() self.bash(enemy) |
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 |
// Заманите огров в ловушку. // Но, они осторожны. // Эти людоеды будут приследовать героя, только если он получил травмы. // Эта функция проверяет состояние здоровья героя и возвращает логическое значение. this.shouldRun = function() { if (hero.health < hero.maxHealth / 2) { return true; } else { return false; } }; while (true) { // Бегите к X только если shouldRun(). if (this.shouldRun()){ this.moveXY(75, 37); } else { // В противном случае, сражайтесь ! var enemy = this.findNearestEnemy(); this.attack(enemy); } } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Заманите огров в ловушкую. # Но, они осторожны. # Эти людоеды будут приследовать героя, только если он получил травмы. # Эта функция проверяет состояние здоровья героя и возвращает логическое значение. @shouldRun = -> if @health < (@maxHealth / 2) true else false while true # Бегите к X только если shouldRun(). if @shouldRun() @moveXY 75, 37 else # В противном случае, сражайтесь ! enemy = @findNearestEnemy() @attack enemy |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
;; Заманите огров в ловушку. ;; Но, они осторожны. ;; Эти людоеды будут приследовать героя, только если он получил травмы. ;; Эта функция проверяет состояние здоровья героя и возвращает логическое значение. (defn shouldRun [] (< (.health this) (/ (.maxHealth this) 3)) ) (while true ;; Бегите к X только если shouldRun(). (if (shouldRun) (.moveXY this 75, 37) (when true (def enemy (.findNearestEnemy this)) ;; В противном случае, сражайтесь ! (.attack this enemy)) ) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
-- Заманите огров в ловушку. -- Но, они осторожны. -- Эти людоеды будут приследовать героя, только если он получил травмы. -- Эта функция проверяет состояние здоровья героя и возвращает логическое значение. function shouldRun() if self.health < self.maxHealth / 3 then return true else return false end end while true do -- Бегите к X только если shouldRun(). if shouldRun() then self:moveXY(75, 37) else -- В противном случае, сражайтесь ! enemy = self:findNearestEnemy() self:attack(enemy) end end |
Комментарии: