Тема:
Базовый синтаксис
Аргументы
Циклы
Условные операторы
Переменные
Арифметика
Цели:
Уклонись от четырёх яков.
Руководство:
Введение:
Если як на расстоянии 10 метров, уклоняйся вправо, прибавляя 10 к pos.x !
1 2 3 4 5 |
x = self.pos.x y = self.pos.y x = x + 10 self.moveXY(x, y) |
JavaScript:
1 2 3 4 5 |
var x = this.pos.x; var y = this.pos.y; x = x + 10; this.moveXY(x, y); |
CoffeScript:
1 2 3 4 5 |
x = @pos.x y = @pos.y x = x + 10 @moveXY(x, y) |
Clojure:
1 2 3 4 5 |
(def x (.x (.pos this))) (def y (.y (.pos this))) (def x (+ x 10)) (.moveXY this x y) |
LUA:
1 2 3 4 5 |
local x = self.pos.x local y = self.pos.y x = x + 10 self:moveXY(x, y) |
Описание:
На этом уровне, обращайся к свойству pos (хранящему твоё местоположение) чтобы перемещаться относительно нынешнего местоположения. Если ближайший песчаный як приблизился к тебе ближе чем на 10 метров, двигайся на 10 метров вправо чтобы уклониться от него!
Не следует бежать вправо как только ты увидишь яка, если ты выбежишь дальше чем нужно за пределы безопасного промежутка между яками, то тебя забодают. Уклоняйся только если ( if) яки подойдут достаточно близко.
Для того чтобы уклониться, двигайся вправо, добавляя 10 к текущей координате x твоего местоположения ( pos) таким образом:
1 2 3 4 5 |
x = self.pos.x y = self.pos.y x = x + 10 self.moveXY(x, y) |
JavaScript:
1 2 3 4 5 |
var x = this.pos.x; var y = this.pos.y; x = x + 10; this.moveXY(x, y); |
CoffeScript:
1 2 3 4 5 |
x = @pos.x y = @pos.y x = x + 10 @moveXY(x, y) |
Clojure:
1 2 3 4 5 |
(def x (.x (.pos this))) (def y (.y (.pos this))) (def x (+ x 10)) (.moveXY this x y) |
LUA:
1 2 3 4 5 |
local x = self.pos.x local y = self.pos.y x = x + 10 self:moveXY(x, y) |
От меня:
На этом уровне вам придётся купить камень. Берите как минимум Полированный Камень Ощущений за 54 кристаллов, он понадобится буквально через несколько уровней.
Могучий Песчаный Як, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Дай якам подойти поближе, а после отойди на 10 м вправо, чтобы увернуться. # Увернись от 4 яков, чтобы пройти уровень. loop: # Определи свои текущие x и y координаты, используя Камень Ощущений. x = self.pos.x y = self.pos.y # Найди ближайшего яка. yak = self.findNearestEnemy() # Используй "if" чтобы двигаться только когда як подойдёт ближе 10 м. if self.distanceTo(yak) < 10: # Чтобы сдвинуться вправо, прибавь 10 к твоей x координате. x += 10 self.moveXY(x, y) # Используй moveXY, чтобы отбежать! pass |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
// Дай якам подойти поближе, а после отойди на 10 м вправо, чтобы увернуться. // Увернись от 4 яков, чтобы пройти уровень. loop { // Определи свои текущие x и y координаты, используя Камень Ощущений. var x = this.pos.x; var y = this.pos.y; // Найди ближайшего яка. var yak = this.findNearestEnemy(); // Используй "if" чтобы двигаться только когда як подойдёт ближе 10 м. if (this.distanceTo(yak) < 10) { // Чтобы сдвинуться вправо, прибавь 10 к твоей x координате. x+=10; this.moveXY(x, y); // Используй moveXY, чтобы отбежать! } } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# Дай якам подойти поближе, а после отойди на 10 м вправо, чтобы увернуться. # Увернись от 4 яков, чтобы пройти уровень. loop # Определи свои текущие x и y координаты, используя Камень Ощущений. x = @pos.x y = @pos.y # Найди ближайшего яка. yak = @findNearestEnemy() # Используй "if" чтобы двигаться только когда як подойдёт ближе 10 м. if @distanceTo(yak) < 10 # Чтобы сдвинуться вправо, прибавь 10 к твоей x координате. x += 10 # Используй moveXY, чтобы отбежать! @moveXY x, y @say("I should move right!") return |
Clojure:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
;; Дай якам подойти поближе, а после отойди на 10 м вправо, чтобы увернуться. ;; Увернись от 4 яков, чтобы пройти уровень. (while true ;; Определи свои текущие x и y координаты, используя Камень Ощущений. (def x (.x (.pos this))) (def y (.y (.pos this))) ;;Найди ближайшего яка. (def yak (.findNearestEnemy this)) ;; Используй "if" чтобы двигаться только когда як подойдёт ближе 10 м. (if (< (.distanceTo this yak) 10) ;; Чтобы сдвинуться вправо, прибавь 10 к твоей x координате. (when true (def x (+ x 10)) (.moveXY this x y)) ;; Используй moveXY, чтобы отбежать! ;;(.say this "I should move right") ) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
-- Дай якам подойти поближе, а после отойди на 10 м вправо, чтобы увернуться. -- Увернись от 4 яков, чтобы пройти уровень. loop -- Определи свои текущие x и y координаты, используя Камень Ощущений. local x = self.pos.x local y = self.pos.y -- Найди ближайшего яка. local yak = self:findNearestEnemy() -- Используй "if" чтобы двигаться только когда як подойдёт ближе 10 м. if self:distanceTo(yak) < 10 then -- Чтобы сдвинуться вправо, прибавь 10 к твоей x координате. -- Используй moveXY, чтобы отбежать! x=x+10 self:moveXY(x, y) self:say("I should move right!") end end |
Комментарии: