Тема:
Базовый синтаксис
Аргументы
Циклы
Условные операторы
Переменные
Цели:
Остановить всех огров.
Спасти все крестьян.
Руководство:
Информация
Патрулировать входы в деревню и использовать оператор if для проверки наличия врагов.
Обзор
Вы можете пройти этот уровень используя два оператора if.
Первый с левымиВрагами, код по умолчанию уже есть для примера, поэтому перезагрузите пример кода если вы получили выключенные дорожки.
Перейдите к кресту с права, а затем определите переменную rightEnemy передайте её findNearestEnemy в качестве метода. Затем напишите оператор if, чтобы проверить существует ли rightEnemy. Если есть враг, нападите на него!
Убедитесь, что вы определили переменную rightEnemy, в тот момент, когда вы могли увидеть врага идущего с права.
Награда:
Деревенская стража, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Патрулируй входы в деревню. # Если нашёл врага, атакуй его. loop: self.moveXY(35, 34) leftEnemy = self.findNearestEnemy() if leftEnemy: self.attack(leftEnemy) self.attack(leftEnemy) # Теперь иди к правому входу. # Find the rightEnemy. # Используй "if" для атаки если это враг. self.moveXY(60, 31) rightEnemy = self.findNearestEnemy() if rightEnemy: self.attack(rightEnemy) self.attack(rightEnemy) |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// Патрулируй входы в деревню. // Если нашёл врага, атакуй его. loop { this.moveXY(35, 34); var leftEnemy = this.findNearestEnemy(); if (leftEnemy) { this.attack(leftEnemy); this.attack(leftEnemy); } // Теперь иди к правому входу. // Find the rightEnemy. // Используй "if" для атаки если это враг. this.moveXY(60, 31); var rightEnemy = this.findNearestEnemy(); if (rightEnemy) { this.attack(rightEnemy); this.attack(rightEnemy); } } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Патрулируй входы в деревню. # Если нашёл врага, атакуй его. loop @moveXY 35, 34 leftEnemy = @findNearestEnemy() if leftEnemy @attack leftEnemy @attack leftEnemy # Теперь иди к правому входу. # Find the rightEnemy. # Используй "if" для атаки если это враг. @moveXY 60, 31 rightEnemy = @findNearestEnemy() if rightEnemy @attack rightEnemy @attack rightEnemy |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
;; Патрулируй входы в деревню. ;; Если нашёл врага, атакуй его. (dotimes [n 10] (.moveXY this 35 34) (def leftEnemy (.findNearestEnemy this)) (when leftEnemy (.attack this leftEnemy) (.attack this leftEnemy)) ;; Теперь иди к правому входу. ;; Find the rightEnemy. ;; Используй "if" для атаки если это враг. (.moveXY this 60 31) (def rightEnemy (.findNearestEnemy this)) (when rightEnemy (.attack this rightEnemy) (.attack this rightEnemy)) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
-- Патрулируй входы в деревню. -- Если нашёл врага, атакуй его. loop self:moveXY(35, 34) local leftEnemy = self:findNearestEnemy() if leftEnemy then self:attack(leftEnemy) self:attack(leftEnemy) end -- Теперь иди к правому входу. -- Find the rightEnemy. -- Используй "if" для атаки если это враг. self:moveXY(60, 31) local rightEnemy = self:findNearestEnemy() if rightEnemy then self:attack(rightEnemy) self:attack(rightEnemy) end end |
Комментарии: