Тема:
Базовый синтаксис
Аргументы
Циклы
Условные операторы
Переменные
Арифметика
Цели:
Защити перекрёстки.
Руководство:
Заметки:
Людоеды могут напасть с любого направления, ваша работа остановить их!
Используйте операторы «<» и «>», чтобы проверить, откуда идут огры. Помните, что «<» можно произнести как, меньше чем, а > можно прочитать, как больше больше чем.
Python:
1 2 |
enemy = self.findNearestEnemy() if self.pos.x > enemy.pos.x: |
JavaScript:
1 2 3 |
var enemy = this.findNearestEnemy(); if (this.pos.x > enemy.pos.x) { } |
CoffeScript:
1 2 |
enemy = @findNearestEnemy() if (@pos.x > enemy.pos.x) |
Clojure:
1 2 3 4 5 |
(def enemy (.findNearestEnemy this)) (if (> (.x (.pos this)) (.x (.pos enemy))) ) |
LUA:
1 2 3 |
local enemy = self:findNearestEnemy() if self.pos.x>enemy.pos.x then end |
Это можно прочитать как: «если позиция героя x, больше чем позиция противника x.» Так как самое маленькое значение позиции x принимает с лева, вы знаете, что герой находится слева от людоеда.
Перекрёстки, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Используйте огненные ловушки для победы над ограми, атаковавшими торговый форпост. loop: enemy = self.findNearestEnemy() if enemy: if enemy.pos.x < self.pos.x: # Если враг слева - стройте ловушку слева self.buildXY("fire-trap", 25, 34) pass elif enemy.pos.x > self.pos.x: # Если враг справа - стройте ловушку справа self.buildXY("fire-trap", 55, 34) pass elif enemy.pos.y < self.pos.y: # Если враг снизу - стройте ловушку снизу self.buildXY("fire-trap", 40, 19) pass elif enemy.pos.y > self.pos.y: # Если враг сверху - стройте ловушку сверху self.buildXY("fire-trap", 40, 49) pass self.moveXY(40, 34) |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
// Используйте огненные ловушки для победы над ограми, атаковавшими торговый форпост. loop { var enemy = this.findNearestEnemy(); if(enemy) { if(enemy.pos.x < this.pos.x) { // Если враг слева - стройте ловушку слева this.buildXY("fire-trap", 25, 34); } else if (enemy.pos.x > this.pos.x) { // Если враг справа - стройте ловушку справа this.buildXY("fire-trap", 55, 34); } else if (enemy.pos.y < this.pos.y) { // Если враг снизу - стройте ловушку снизу this.buildXY("fire-trap", 40, 19); } else if (enemy.pos.y > this.pos.y) { // Если враг сверху - стройте ловушку сверху this.buildXY("fire-trap", 40, 49); } } this.moveXY(40, 34); } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# Используйте огненные ловушки для победы над ограми, атаковавшими торговый форпост. loop enemy = @findNearestEnemy() if enemy if enemy.pos.x < @pos.x # Если враг слева - стройте ловушку слева @buildXY "fire-trap", 25, 34 else if enemy.pos.x > @pos.x # Если враг справа - стройте ловушку справа @buildXY "fire-trap", 55, 34 else if enemy.pos.y < @pos.y # Если враг снизу - стройте ловушку снизу @buildXY "fire-trap", 40, 19 else if enemy.pos.y > @pos.y # Если враг сверху - стройте ловушку сверху @buildXY "fire-trap", 40, 49 @moveXY 40, 34 |
Clojure:
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 |
;; Используйте огненные ловушки для победы над ограми, атаковавшими торговый форпост. (dotimes [n 1000] (let [enemy (.findNearestEnemy this)] (when enemy (if (< (.x (.pos enemy)) (.x (.pos this))) ;; Если враг слева - стройте ловушку слева (.buildXY this "fire-trap" 25 34) (if (> (.x (.pos enemy)) (.x (.pos this))) ;; Если враг справа - стройте ловушку справа (.buildXY this "fire-trap" 55 34) (if (< (.y (.pos enemy)) (.y (.pos this))) ;; Если враг снизу - стройте ловушку снизу (.buildXY this "fire-trap" 40 19) (if (> (.y (.pos enemy)) (.y (.pos this))) ;; Если враг сверху - стройте ловушку сверху (.buildXY this "fire-trap" 40 49) ) ) ) ) ) ) (.moveXY this 40 34) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
-- Используйте огненные ловушки для победы над ограми, атаковавшими торговый форпост. loop local enemy = self:findNearestEnemy() if enemy then if enemy.pos.x < self.pos.x then -- Если враг слева - стройте ловушку слева self:buildXY("fire-trap", 25, 34) elseif enemy.pos.x > self.pos.x then -- Если враг справа - стройте ловушку справа self:buildXY("fire-trap", 55, 34) elseif enemy.pos.y < self.pos.y then -- Если враг снизу - стройте ловушку снизу self:buildXY("fire-trap", 40, 19) elseif enemy.pos.y > self.pos.y then -- Если враг сверху - стройте ловушку сверху self:buildXY("fire-trap", 40, 49) end end self:moveXY(40, 34); end |
Комментарии: