Тема:
Строки
Аргументы
Циклы
Условные операторы
Переменные
Обработка ввода
Цели:
Победить всех огров с помощью ловушек.
Собери все монеты.
Руководство:
Информация
Монета так же, как и флаг имеет pos. Используйте pos монеты в moveXY(), чтобы собрать их.
Анализ
Используйте метод pickUpFlag, чтобы пойти и забрать флаги, которые вы размещаете, но сначала, используйте buildXY, чтобы создать «fire-trap», в месте, где расположен флаг.
Так же, как и в предыдущем уровне, каждый элемент монеты является объектом, и каждый флаг также является объектом. Каждый флаг и элемент объект имеет свойство pos, которая отвечает за позицию объекта. И каждая позиция представляет собой объект, который имеет свойства х и у, которые можно использовать в методах moveXY и buildXY.
Измените код вашего героя что бы он строил ловушки там, где он видит флаги. Затем, когда вы уведите идущего людоеда, поместите флаг на соответствующий X, чтобы ваш герой среагировал. Когда нет флага, ваш герой будет собирать монеты. Подождите, пока ваш герой, поднимет флаг перед размещением следующего флага, иначе он не будет размещать огненную ловушку на последнем флаге.
Совет: помните, что вы должны нажать Завершить, прежде чем вы с можете размещать флаги. Огры случайны, так что они будут выходит каждый раз с различных путей.
Награда:
Защити фермера, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# Поместите флаги в те места, где хотите построить ловушки. # Когда Вы не строите ловушки, собирайте монеты. loop: flag = self.findFlag() if flag: # Как можно получить flagX и flagY координаты флага? # (Внизу показан способ получения х и у координат предмета.) flagPos = flag.pos flagX = flagPos.x flagY = flagPos.y self.buildXY("fire-trap", flagX, flagY) self.pickUpFlag(flag) else: item = self.findNearestItem() if item: itemPos = item.pos itemX = itemPos.x itemY = itemPos.y self.moveXY(itemX, itemY) |
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 25 |
// Поместите флаги в те места, где хотите построить ловушки. // Когда Вы не строите ловушки, собирайте монеты. loop { var flag = this.findFlag(); if (flag) { // Как можно получить flagX и flagY координаты флага? // (Внизу показан способ получения х и у координат предмета.) var flagPos = flag.pos; var flagX = flagPos.x; var flagY = flagPos.y ; this.buildXY("fire-trap", flagX, flagY); this.pickUpFlag(flag); } else { var item = this.findNearestItem(); if (item) { var itemPos = item.pos; var itemX = itemPos.x; var itemY = itemPos.y; this.moveXY(itemX, itemY); } } } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# Поместите флаги в те места, где хотите построить ловушки. # Когда Вы не строите ловушки, собирайте монеты. loop flag = @findFlag() if flag # Как можно получить flagX и flagY координаты флага? # (Внизу показан способ получения х и у координат предмета.) flagPos = flag.pos flagX = flagPos.x flagY = flagPos.y @buildXY "fire-trap", flagX, flagY @pickUpFlag flag else item = @findNearestItem() if item itemPos = item.pos itemX = itemPos.x itemY = itemPos.y @moveXY itemX, itemY else @say "Поместите флаг в то место, куда мне нужно идти." |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
;; Поместите флаги в те места, где хотите построить ловушки. ;; Когда Вы не строите ловушки, собирайте монеты. (dotimes [n 1000] (def flag (.findFlag this)) (if flag (when true ;; Как можно получить flagX и flagY координаты флага? ;; (Внизу показан способ получения х и у координат предмета.) (def flagX (.x (.pos flag))) (def flagY (.y (.pos flag))) (.buildXY this "fire-trap" flagX flagY) (.pickUpFlag this flag)) (when true (def item (.findNearestItem this)) (if item (when true (def itemX (.x (.pos item))) (def itemY (.y (.pos item))) (.moveXY this itemX itemY)) (.say this "Place a flag for me to go to."))))) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
-- Поместите флаги в те места, где хотите построить ловушки. -- Когда Вы не строите ловушки, собирайте монеты. loop local flag = self:findFlag() if flag then -- Как можно получить flagX и flagY координаты флага? -- (Внизу показан способ получения х и у координат предмета.) local flagPos = flag.pos local flagX = flagPos.x local flagY = flagPos.y self:buildXY("fire-trap", flagX, flagY) self:pickUpFlag(flag) else local item = self:findNearestItem() if item then local itemPos = item.pos local itemX = itemPos.x local itemY = itemPos.y self:moveXY(itemX, itemY) end end end |
Комментарии: