Тема:
Базовый синтаксис
Условные операторы
Доступ к свойствам
Строки
Переменные
Циклы «while»
Цели:
Огры должны умереть.
Руководство:
Совет 1:
Ты можешь соединять строки с помощью оператора +.
Это называется соединение строк.
1 |
hero.say("To battle, " + "Sally!") |
JavaScript:
1 |
hero.say("To battle, " + "Sally!"); |
CoffeScript:
1 |
Clojure:
1 |
LUA:
1 |
hero:say("To battle, " .. "Sally!") |
Таким образом герой скажет: «To battle, Sally!».
Также можно соединять строки, которые хранятся в переменных:
1 |
hero.say("To battle, " + peasant.id) |
JavaScript:
1 |
hero.say("To battle, " + peasant.id); |
CoffeScript:
1 |
Clojure:
1 |
LUA:
1 |
hero:say("To battle, " .. peasant.id) |
Совет 2:
Используйте hero.findNearestEnemy для сохранения ближайшего врага в переменной.
Python:
1 |
enemy = hero.findNearestEnemy() |
JavaScript:
1 |
var enemy = hero.findNearestEnemy(); |
CoffeScript:
1 |
Clojure:
1 |
LUA:
1 |
local enemy = hero:findNearestEnemy() |
Совет 3:
Используйте if-statement, чтобы проверить, содержит ли переменная врага:
Python:
1 |
if enemy: |
JavaScript:
1 2 3 |
if(enemy) { } |
CoffeScript:
1 |
Clojure:
1 |
LUA:
1 2 3 |
if enemy then end |
Совет 4:
Если враг существует, соедините имя врага, используя свойство id и другую строку!
Совет 5:
Как числа можно складывать с помощью +, так и строки могут использовать сложение с помощью оператора +.
Если есть две строк «foo» и «bar», что в итоге получится в результате «foo» + «bar»?
Это просто на самом деле, и «foo» + «bar» это тоже самое что и «foobar»! Данная операция соединяет две строки в одну.
На этом уровне тебе нужно приказать крестьянам готовится к битве и батракам уходить прочь используя соединение их id с другими строками.
Приказ крестьянам будет выглядеть так:
Python:
1 2 |
hero.say("To battle, " + peasant.id + "!") # В результате будет что-то вроде: "To battle, Sally!" |
JavaScript:
1 2 |
hero.say("To battle, " + peasant.id + "!"); // В результате будет что-то вроде: "To battle, Sally!" |
CoffeScript:
1 |
Clojure:
1 |
LUA:
1 2 |
hero:say("To battle, " .. peasant.id .. "!") -- В результате будет что-то вроде: "To battle, Sally!" |
Обрати внимание — крестьяне и батраки не любят когда ты просто называешь их имена! Обязательно нужно добавить (присоединить) другую строку, чтобы они поняли.
Друг и враг, прохождение:
Python:
1 2 3 4 5 6 7 8 9 10 11 |
# Крестьяне и батраки собираются в лесу. # Прикажи крестьянам готовится к бою и батракам уходить прочь! while True: friend = hero.findNearestFriend() if friend: hero.say("To battle, " + friend.id + "!") # Теперь найди ближайшего врага и сказать ему чтобы уходил (go away). enemy = hero.findNearestEnemy() if enemy: hero.say("go away, " + enemy.id+"!") |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Крестьяне и батраки собираются в лесу. // Прикажи крестьянам готовится к бою и батракам уходить прочь! while(true) { var friend = hero.findNearestFriend(); if(friend) { hero.say("To battle, " + friend.id + "!"); } // Теперь найди ближайшего врага и сказать ему чтобы уходил (go away). var enemy = hero.findNearestEnemy(); if(enemy){ hero.say("go away, " + enemy.id+"!"); } } |
CoffeScript:
1 2 3 4 5 6 7 8 9 10 11 |
# Крестьяне и батраки собираются в лесу. # Прикажи крестьянам готовится к бою и батракам уходить прочь! while true friend = @findNearestFriend() if friend @say "To battle, " + friend.id + "!" # Теперь найди ближайшего врага и сказать ему чтобы уходил (go away). enemy = @findNearestEnemy() if enemy @say "go away, " + enemy.id+"!" |
Clojure:
1 |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
-- Крестьяне и батраки собираются в лесу. -- Прикажи крестьянам готовится к бою и батракам уходить прочь! while true do local friend = self:findNearestFriend() if friend then hero:say("To battle, " + friend.id + "!") end -- Теперь найди ближайшего врага и сказать ему чтобы уходил (go away). local enemy = self:findNearestEnemy() if enemy then hero:say("go away, " + enemy.id+"!") end end |
Комментарии: