Тема:
Базовый синтаксис
Циклы
Аргументы
Условные операторы
Переменные
Арифметика
Цели:
Герой должен выжить
Добраться до оазиса
Победить огров разведчиков
Руководство:
Введение:
Если вы видите противника, нападите на него! Иначе двигайтесь в верх и в право.
Вы двигаетесь вверх, добавляя к вашей pos.y.
Вы двигаетесь вниз, путём вычитания из вашего pos.y.
Обзор:
Вы должны двигается по диагонали вверх и вправо, увеличивая х и y вашей pos(позиции), как показано в коде, который вам предоставлен.
Во-первых, проверьте, есть ли враг. Если есть один, напасть на него!
Иначе (нет противника), перейти к новым координатами х и у.
Людоеды разведчики сильнее, чем Жевуны.
От себя:
На этом уровне пришлось купить себе щит Монолит(The Monolith), стоимость 3000 кристаллов.
Дорога Сарвена, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# Иди к оазису. Опасайся новых врагов: огров-разведчиков! # Иди по диагонали вправо-вверх, увеличивая текущие X и Y координаты. xPos = self.pos.x yPos = self.pos.y loop: enemy = self.findNearestEnemy() # Атакуй любого врага, которого увидишь. if enemy: if self.isReady("bash"): self.bash(enemy) else if self.isReady("cleave"): self.cleave(enemy) else: self.attack(enemy) # Или, если врагов не видно, продолжай идти вправо-вверх. else: self.moveXY(xPos+5, yPos+5) xPos = self.pos.x yPos = self.pos.y pass |
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 |
// Иди к оазису. Опасайся новых врагов: огров-разведчиков! // Иди по диагонали вправо-вверх, увеличивая текущие X и Y координаты. xPos = this.pos.x; yPos = this.pos.y; loop { var enemy = this.findNearestEnemy(); // Атакуй любого врага, которого увидишь. if (enemy) { if (this.isReady("bash")) { this.bash(enemy); } else { if (this.isReady("cleave")) { this.cleave(enemy); } else { this.attack(enemy); } } // Или, если врагов не видно, продолжай идти вправо-вверх. } else { this.moveXY(xPos+5, yPos+5); xPos = this.pos.x; yPos = this.pos.y; } } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# Иди к оазису. Опасайся новых врагов: огров-разведчиков! # Иди по диагонали вправо-вверх, увеличивая текущие X и Y координаты. xPos = @pos.x yPos = @pos.y loop enemy = @findNearestEnemy() # Атакуй любого врага, которого увидишь. if enemy if @isReady("bash") @bash(enemy) else if @isReady("cleave") @cleave(enemy) else @attack(enemy) # Или, если врагов не видно, продолжай идти вправо-вверх. else @moveXY(xPos+5, yPos+5) xPos = @pos.x yPos = @pos.y |
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 |
;; Иди к оазису. Опасайся новых врагов: огров-разведчиков! ;; Иди по диагонали вправо-вверх, увеличивая текущие X и Y координаты. ;; (when true (dotimes [n 1000] (def enemy (.findNearestEnemy this)) ;; Атакуй любого врага, которого увидишь. (if enemy (if (.isReady this "bash") (.bash this enemy) (if (.isReady this "cleave") (.cleave this enemy) (.attack this enemy) ) ) (when true (def xPos (.x (.pos this))) (def yPos (.y (.pos this))) (def xPos (+ xPos 5)) (def yPos (+ yPos 5)) (.moveXY this xPos yPos) ) ) ) |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
-- Иди к оазису. Опасайся новых врагов: огров-разведчиков! -- Иди по диагонали вправо-вверх, увеличивая текущие X и Y координаты. local xPos = self.pos.x local yPos = self.pos.y loop local enemy = self:findNearestEnemy() -- Атакуй любого врага, которого увидишь. if (enemy) then if (self:isReady("bash")) then self:bash(enemy) elseif (self:isReady("cleave")) then self:cleave(enemy) else self:attack(enemy) end -- Или, если врагов не видно, продолжай идти вправо-вверх. else self:moveXY(xPos+5, yPos+5) xPos = self.pos.x yPos = self.pos.y end end |
Комментарии: