Подземелье Китгарда

Объекты и методы

Описание основного способа отдавать команды персонажу

Читать
Всё, чем ты можешь управлять, в программировании принято называть объектами. Каждый объект имеет свой независимый набор команд, которые исполняются именно им. Эти команды называются методами. Для того, чтобы объект выполнил ту или иную команду, необходимо сначала написать имя объекта а после поставить точку (без пробелов) и написать метод для исполнения с парой скобок () после него.
В общем виде: 

объект.метод() 

В мире Code Combat самым важным объектом будет твой герой. В программе ты можешь отдавать ему команды написав 

Hero.метод()

Теперь, когда ты знаешь, как обращаться к своему герою, ты можешь скомандовать ему moveUp() (иди вверх), moveDown() (иди вниз), moveRight() (иди направо) или moveLeft() (иди влево)

Аргумент метода

Способ настройки методов

Читать
На самом деле в команде вида объект.метод() пустые скобки добавляются не просто так. Существует большое количество методов, которые можно настраивать, то-есть они работают не всегда одинаково. Эти “настройки” носят название аргументы метода, их значения и записывают в круглые скобки. Если у метода несколько аргументов, но внутри скобок они записываются подряд через запятую.
Например, когда ты вызываешь метод moveRight(), то можешь предоставить ему аргумент вот так: moveRight(3). Это заставит героя переместиться сразу на 3 хода вместо 1.

Метод атаки

Метода сражения с врагами

Читать
После того, как ты обнаружишь свое первое оружие, твоему герою станет доступен метод атаки.
Для того, чтобы твой герой атаковал врага с именем NAME, необходимо отдать ему команду 

hero.attack("NAME")

Важно! Имя врага обязательно должно быть записано в двойных кавычках » «, с их помощью компьютер поймет, что ты хочешь передать в метод текст имени.

Метод речи

Способ произносить фразы персонажем

Читать
Метод hero.say(» «) приказывает твоему герою произнести текст записанный в кавычках. В некоторых испытаниях ты не сможешь пройти дальше не сказав пароля.

Бесконечный цикл

Способ выполнить часть кода несколько раз без копирования

Читать
Код обычно выполняется в том порядке, в котором он написан. Циклы позволяют повторять часть кода множество раз, не переписывая его.
Мы обозначаем цикл при помощи ключевого слова while. Оно говорит твоей программе повторять тело цикла, пока (while) условие истинно (true).
Сейчас наша цель в бесконечном выполнении циклов, поэтому пока мы будем пользоваться циклом while-true.
Не переживай по поводу непонятных вещей, они станут очевидными позднее. Просто запомни, что циклы while-true повторяются бесконечно.
Представь что тебе нужно написать программу, в которой герой бесконечно двигается вправо а затем влево. Код для выполнения этой задачи будет выглядеть следующим образом:

while True:
    hero.moveRight()
    hero.moveLeft()

Переменные

Способ запоминать информацию во время работы программы

Читать
Понятие переменной является очень важным в программировании. С их помощью ты сможешь “запоминать” что-либо, во время работы программы. Кроме того, значение переменной может меняться, когда ты записываешь в неё новые данные, отсюда и название переменная.
Неудобно постоянно печатать имена огров, поэтому можно использовать переменные для хранения имён. Когда нужно атаковать, ты можешь использовать переменную (enemy1), в которой хранится строка («Kratt»).
Переменные объявляются так: 

enemy1 = "Kratt"

Чтобы использовать значение, которое содержит переменная enemy1, для атаки, достаточно написать

hero.attack(enemy1)

Заметь, при использовании переменных, кавычки писать не нужно

Метод поиска имени врага

Метод определения имени находящегося рядом врага

Читать
Вместо использования имён врагов, ты можешь использовать очки и метод findNearestEnemy(), чтобы сохранять ссылки на огров в переменных. Тебе не придётся использовать их имена.
Когда ты вызываешь метод findNearestEnemy(), то должен сохранить результат в переменной, например, enemy3 (можешь назвать как угодно). Герой запомнит, кто был ближайшим врагом в момент вызова метода findNearestEnemy(), записав имя врага в переменную.
Например:

enemy1=hero.findNearestEnemy()
hero.attack(enemy1)

Метод строительства

Метод постройки стен и ловушек

Читать
Когда ты пользуешься строительным молотком, то вместо метода ‘attack’ получаешь метод buildXY. Он принимает три аргумента, а не один: buildType, x, и y. Таким образом, ты решаешь, что строить и где строить.

  • buildType: строка «fence» для постройки забора или «fire-trap» для постройки огненной ловушки.
  • x: горизонтальная координата для постройки. Ты можешь навести курсор на карту, чтобы найти координаты.
  • y: вертикальная координата для постройки. x и y измеряются в метрах.

buildXY(«fence», x, y) позволяет тебе построить забор в определённой точке.
например: 

hero.buildXY("fence", 40, 20)