Тема:
Аргументы
Строки
Циклы
Условные операторы
Переменные
Обработка ввода
Цели:
Огры должны умереть.
Яки должны быть огорожены.
Руководство:
Введение:
Прислушайся к лучникам, они скажут вам, что стрить! Метка Х подпрыгивая показывает, где разместить флаг.
Используй зелёный флаг, что бы построить «fence» (забор).
Используй чёрный флаг, что бы построить «fire-trap» (огненную ловушку)
Не забудь забрать свои флаги после строительства!
Описание:
На этом уровне, вы будете использовать флаги разных цветов, чтобы задать своему герою различные задачи.
Смотри на лучников, они дают вам знать, идёт людоед или песчаный як. Тогда вы должны разместить около данного лучника флаг для строительства.
Если пришёл песчаный як. стройте «fence»(забор), используя flagGreen.pos.x и flagGreen.pos.y, как x и y для buildXY.
Если идёт людоед, надо строить «fire-trap»(огненную ловушку) с помощью flagBlack.pos.x и flagBlack.pos.y, как x и y для buildXY.
После того, как задание выполенено, не забудьте использовать pickUpFlag, для того что бы взять флаг.
Караул Сарвена, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# Используй флаги разных цветов, чтобы выполнять различные задачи. loop: flagGreen = self.findFlag("green") flagBlack = self.findFlag("black") # Если появляется зеленый флаг, то строй заграждение ("fence"). if flagGreen: # Строй забор на месте зелёного флага. self.buildXY("fence", flagGreen.pos.x, flagGreen.pos.y) # Не забывай подбирать флаги после их использования! self.pickUpFlag(flagGreen) # Если появляется черный флаг, то строй ловушку ("fire-trap"). if flagBlack: # Строить огненную ловушку(fire-trap) на месте чёрного флага. self.buildXY("fire-trap", flagBlack.pos.x, flagBlack.pos.y) # Не забывай подбирать флаги после их использования! self.pickUpFlag(flagBlack) # Идите назад в центр. self.moveXY(43, 31) |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// Используй флаги разных цветов, чтобы выполнять различные задачи. loop { var flagGreen = this.findFlag("green"); var flagBlack = this.findFlag("black"); // Если появляется зеленый флаг, то строй заграждение ("fence"). if (flagGreen){ // Строить забор(fence) на месте зелёного флага. this.buildXY("fence", flagGreen.pos.x, flagGreen.pos.y); // Не забывай подбирать флаги после их использования! this.pickUpFlag(flagGreen); } // Если появляется черный флаг, то строй ловушку ("fire-trap"). if (flagBlack){ // Строить огненную ловушку(fire-trap) на месте чёрного флага. this.buildXY("fire-trap", flagBlack.pos.x, flagBlack.pos.y); // Не забывай подбирать флаги после их использования! this.pickUpFlag(flagBlack); } // Идите назад в центр. this.moveXY(43, 31); } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# Используй флаги разных цветов, чтобы выполнять различные задачи. loop flagGreen = @findFlag("green") flagBlack = @findFlag("black") # Если появляется зеленый флаг, то строй заграждение ("fence"). if flagGreen # Строить забор(fence) на месте зелёного флага. @buildXY "fence", flagGreen.pos.x, flagGreen.pos.y # Не забывай подбирать флаги после их использования! @pickUpFlag(flagGreen) # Если появляется черный флаг, то строй ловушку ("fire-trap"). if flagBlack # Строить огненную ловушку(fire-trap) на месте чёрного флага. @buildXY "fire-trap", flagBlack.pos.x, flagBlack.pos.y # Не забывай подбирать флаги после их использования! @pickUpFlag(flagBlack) # Идите назад в центр. @moveXY(43, 31) |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
;; Используй флаги разных цветов, чтобы выполнять различные задачи. (dotimes [n 2000] (let [flagGreen (.findFlag this "green") flagBlack (.findFlag this "black")] ;; Если появляется зеленый флаг, то строй заграждение ("fence"). (when flagGreen ;; Строить забор(fence) на месте зелёного флага. (.buildXY this "fence" (.x (.pos flagGreen)) (.y (.pos flagGreen))) ;; Не забывай подбирать флаги после их использования! (.pickUpFlag this flagGreen)) ;; Если появляется черный флаг, то строй ловушку ("fire-trap"). (when flagBlack ;; Строить огненную ловушку(fire-trap) на месте чёрного флага. (.buildXY this "fire-trap" (.x (.pos flagBlack)) (.y (.pos flagBlack))) ;; Не забывай подбирать флаги после их использования! (.pickUpFlag this flagBlack)) ;; Идите назад в центр. (.moveXY this 43 31) )) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
-- Используй флаги разных цветов, чтобы выполнять различные задачи. loop local flagGreen = self:findFlag("green") local flagBlack = self:findFlag("black") -- Если появляется зеленый флаг, то строй заграждение ("fence"). if flagGreen then -- Строить забор(fence) на месте зелёного флага. self:buildXY("fence", flagGreen.pos.x, flagGreen.pos.y) -- Не забывай подбирать флаги после их использования! self:pickUpFlag(flagGreen) end -- Если появляется черный флаг, то строй ловушку ("fire-trap"). if flagBlack then -- Строить огненную ловушку(fire-trap) на месте чёрного флага. self:buildXY("fire-trap", flagBlack.pos.x, flagBlack.pos.y) -- Не забывай подбирать флаги после их использования! self:pickUpFlag(flagBlack) end -- Идите назад в центр. self:moveXY(43, 31) end |
Это багованный уровень
Не всегда кресты помечаются
Чтобы пройти его, смотрите, над каким из лучников появляется текст. Каждый лучник охраняет свой вход.