Тема:
Базовый синтаксис
Аргументы
Циклы
Условные операторы
Переменные
Обработка ввода
Цели:
Защитите крестьян.
Отразите все атаки захватчиков.
Выживите под натиском.
Руководство:
Информация
Людоеды могут атаковать с трех разных направлений. Используйте pickUpFlag(), чтобы направлять своего героя в нужное место, а затем cleave() или attack() на огров.
Защити фермера, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# Огры взбираются по утёсу! # Защищайте крестьян, пока ополчение не соберётся. loop: flag = self.findFlag() enemy = self.findNearestEnemy() if flag: # Возьми флаг. # pass self.pickUpFlag(flag) elif enemy: # Иначе атакуй! # Используйте флаги, чтобы перемещаться и рассекайте (cleave) если готовы. if self.distanceTo(enemy)<6: 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 21 |
// Огры взбираются по утёсу! // Защищайте крестьян, пока ополчение не соберётся. loop { var flag = this.findFlag(); var enemy = this.findNearestEnemy(); if (flag) { // Возьми флаг. this.pickUpFlag(flag); } else if (enemy) { // Иначе атакуй! // Используйте флаги, чтобы перемещаться и рассекайте (cleave) если готовы. if (this.distanceTo(enemy)) { 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 |
# Огры взбираются по утёсу! # Защищайте крестьян, пока ополчение не соберётся. loop enemy = @findNearestEnemy() flag = @findFlag() if flag #null # Возьми флаг. @pickUpFlag(flag) else if enemy #null # Иначе атакуй! # Используйте флаги, чтобы перемещаться и рассекайте (cleave) если готовы. if @distanceTo(enemy)<6 if @isReady "cleave" @cleave enemy else @attack enemy #@say "Delete this line once your loop is finite." return |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
;; Огры взбираются по утёсу! ;; Защищайте крестьян, пока ополчение не соберётся. (while true (def enemy (.findNearestEnemy this)) (def flag (.findFlag this)) (if flag (when true ;; Возьми флаг. (.pickUpFlag this flag)) (when enemy ;; Иначе атакуй! ;; Используйте флаги, чтобы перемещаться и рассекайте (cleave) если готовы. (when (< (.distanceTo this enemy) 6) (if (.isReady this "cleave") (.cleave this enemy) (.attack this enemy) ) ) ) ) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
-- Огры взбираются по утёсу! -- Защищайте крестьян, пока ополчение не соберётся. loop local enemy = self:findNearestEnemy() local flag = self:findFlag() if flag then -- Возьми флаг. self:pickUpFlag(flag) elseif enemy then -- Иначе атакуй! -- Используйте флаги, чтобы перемещаться и рассекайте (cleave) если готовы. if self:isReady("cleave") then self:cleave(enemy) else self:attack(enemy) end end end |
Комментарии: