Тема:
Функции
Переменные
Строки
Пармаетры
Условные операторы
Циклы «for»
Цели:
Найдите сокровище.
Совет 1:
Найдите сундук который содержит сокровища!
Имя Thoktar’а содержит тайну. Какой нибудь индекс имени Thoktar’a это ‘z’, это индекс сундуков к которым должен подойти игрок.
Повторите каждый элемент строкой с следующим кодом:
Python:
1 2 3 4 |
string = "Hello, World!" for i in range(len(string)): letter = string[i] hero.say(letter) # Герой скажет каждую букву отдельно. |
JavaScript:
1 2 3 4 5 |
var string = "Hello, World!"; for(var i = 0; i < string.length; i++) { var letter = string[i]; hero.say(letter); // Герой скажет каждую букву отдельно. } |
LUA:
1 2 3 4 5 |
local string = "Hello World!" for i=1, #string do local letter = string[i] hero:say(letter) -- Герой скажет каждую букву отдельно. end; |
Используйте это знание чтобы победить Thoktar’a!
Python:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# Вы должны найти сокровище. # Используй имя Thoktar'а в качестве подсказки. # Правильный сундук сокровищ - это есть то же самое число как индекс 'z' в имени Thoktar'a. # Эта функция должна возвращать число, которой по счету буква находится в слове: def letterIndex(word, letter): # Шаг по каждой букве есть индекс составления слова for i in range(len(word)): # Сравнивать буквы в слове с подставленной буквой if letter==word[i]: # Если требуется буква, тогда возвращаем текущий индекс return i # Если не требуется, тогда возращаем значение по умолчанию return 0 ogreLetter = "z" shaman = hero.findByType("thoktar")[0] # Найдите индекс и используйте его для нахождения сокровища. chestIndex = letterIndex(shaman.id, "z") hero.moveXY(16 + chestIndex * 8, 36) |
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 |
// Вы должны найти сокровище. // Используй имя Thoktar'а в качестве подсказки. // Правильный сундук сокровищ - это есть то же самое число как индекс 'z' в имени Thoktar'a. // Эта функция должна возвращать число, которой по счету буква находится в слове: function letterIndex(word, letter) { // Шаг по каждой букве есть индекс составления слова for (var i=0; i<word.length; i++){ // Сравнивать буквы в слове с подставленной буквой if (letter==word[i]) { // Если требуется буква, тогда возвращаем текущий индекс return i; } // Если не требуется, тогда возращаем значение по умолчанию } return 0; } var ogreLetter = "z"; var shaman = hero.findByType("thoktar")[0]; // Найдите индекс и используйте его для нахождения сокровища. var chestIndex = letterIndex(shaman.id, "z"); hero.moveXY(16 + chestIndex * 8, 36); |
CoffeScript:
1 |
## |
Clojure:
1 |
;; |
LUA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
-- Вы должны найти сокровище. -- Используй имя Thoktar'а в качестве подсказки. -- Правильный сундук сокровищ - это есть то же самое число как индекс 'z' в имени Thoktar'a. -- Эта функция должна возвращать число, которой по счету буква находится в слове: function hero.letterIndex(word, letter) -- Шаг по каждой букве есть индекс составления слова for wordIndex=1, #word do -- Сравнивать буквы в слове с подставленной буквой if letter == word[wordIndex] then -- Если требуется буква, тогда возвращаем текущий индекс return wordIndex end -- Если не требуется, тогда возращаем значение по умолчанию end return 0 end local ogreLetter = "z"; local shaman = hero:findByType("thoktar")[1]; -- Найдите индекс и используйте его для нахождения сокровища. local chestIndex = hero.letterIndex(shaman.id, "z"); hero:moveXY(16 + (chestIndex-1) * 8, 36); |
Комментарии: