Codecombat прохождение утомительный нод

Обновлено: 05.07.2024

Программирование — это скучно. Программирование — это сложно. Это непонятно, сложно и скучно.

В Telegram-канале «Лайфхакер» только лучшие тексты о технологиях, отношениях, спорте, кино и многом другом. Подписывайтесь!

В нашем Pinterest только лучшие тексты об отношениях, спорте, кино, здоровье и многом другом. Подписывайтесь!

Да, такие мысли действительно могут возникнуть при взгляде на длинные строки кода, страшное окно терминала и бородатых программеров, живущих в каком-то своем мире. Однако это совсем не так, и даже самое сложное дело может быть безумно увлекательным. Докажет это замечательный проект Code Combat, который поможет изучить основы программирования в игровой форме.

Сайт Code Combat предлагает нам настоящую онлайновую игру в жанре RPG, по мере прохождения которой вам будут преподаваться основы языка JavaScript. Разработчики создали полноценную историю, в которой вам предстоит управлять начинающим волшебником, выполняющим в процессе интересного сюжета различные задания. При этом заклинания этого волшебника представляют собой различные команды JavaScript. Поэтому, чтобы пройти всю игру, вам придется их хорошенько запомнить!

Важным достоинством Code Combat является то, что игра прекрасно локализована, так что вам не придется, в дополнение к программированию, еще разбираться с английским языком. Кстати, игра имеет очень весомый реальный бонус: тому, кто пройдет всю игру и достигнет высшего уровня, авторы обещают помочь с устройством на работу в США. А для тех, кто уже неплохо освоил JavaScript, есть режим мультиплеера, где вы можете продемонстрировать свои умения в честном поединке.

Есть здесь и собственный редактор уровней, с помощью которого можно дорабатывать игру, предлагать свои задания или даже целые кампании. И это успешно делает множество программистов, так как вокруг проекта образовалось уже достаточно обширное сообщество.

Если вы, благодаря проекту Code Combat, активно заинтересовались программированием и решили освоить его более полно или выучить еще один язык, то вот вам еще несколько секретных адресов — 5 лучших бесплатных ресурсов для изучения программирования.

Three towers protect your desert oasis. Don't let the ogres knock them down.

// Defend your towers in this replayable challenge level!
// Step on an X if you have 20 gold to build a soldier.
loop
var flag = this . findFlag ( ) ;
var marks = [ < x : 84 , y : 78 >, < x : 84 , y : 51 >, < x : 83 , y : 22 >] ;
if ( this . gold >= 20 )
var mark = this . findNearest ( marks ) ;
this . moveXY ( mark . x , mark . y ) ;
>
if ( flag )
this . pickUpFlag ( flag ) ;
>
var coin = this . findNearest ( this . findItems ( ) ) ;
this . moveXY ( coin . pos . x , coin . pos . y ) ;
>

Gather 150 gold while evading ogres and running through teleporters. It gets harder (and more lucrative) each time you win! But if you lose, you must wait a day to resubmit.

// Collect 150 gold while evading ogres with teleporters.
// If you win, it gets harder (and more rewarding).
// If you lose, you must wait a day before you can resubmit.
// Remember, each submission gets a new random seed.
var marks = [ < x : 5 , y : 19 >, < x : 5 , y : 49 >, < x : 76 , y : 19 >, < x : 76 , y : 51 >] ;
loop
var enemy = this . findNearest ( this . findEnemies ( ) ) ;
var mark = this . findNearest ( marks ) ;
var coin = this . findNearest ( this . findItems ( ) ) ;
if ( enemy && ( this . distanceTo ( enemy ) <= this . attackRange ) )
this . attack ( enemy ) ;
this . moveXY ( mark . x , mark . y ) ;
> else if ( coin )
this . move ( coin . pos ) ;
>
>

Test your defending skills in a 2-on-3 soccer endurance match.

Basic Syntax, Boolean Logic, If Statements, Math Operations, Variables, Object Literals

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

Пиши код в редакторе справа, и герой будет следовать твоим инструкциям.

Веди его по коридору, не касаясь стен.

Давай начнем! Чтобы выбраться из подземелья твой герой должен двигаться. Ты можешь указать ему, куда идти, написав код (программу).

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

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

Чтобы пройти уровень: двигайся вправо, вниз и ещё раз вправо, чтобы забрать самоцвет!

Тебе нужно всего лишь три строки кода для победы на этом уровне.

Тот код, что ты пишешь здесь, очень похож на код, с помощью которого ты говоришь компьютеру как делать кучу разных вещей от проигрывания музыки до отображения веб-страницы. Это твои первые шаги чтобы стать программистом!

Герой обладает действиями или методами. Методы могут предоставляться предметами, имеющимися у героя.

Простейшие случаи - это методы moveUp , moveDown , moveRight и moveLeft . При вызове нужного метода, используй () после имени метода.

Обрати внимание, что герой не будет ничего делать, если () отсутствуют!

В подземелье, герой имеет доступ к следующим методам:

  • moveUp
  • moveRight
  • moveDown
  • moveLeft

Используй их, чтобы передвигаться в опасных проходах!

Быстро собери самоцветы. Они тебе понадобятся.

Самоцветы в глубине

Помни как двигаться. Это важно:

Ты еще помнишь урок с предыдущего уровня? Сейчас будет тоже самое, только двигаться придётся больше. Помни, что

указывет на твоего героя.

Когда герой идёт по твоей команде, он переходит только в соседний квадрат (посмотри на маленькие отметки на полу), поэтому, чтобы пересечь уровень с самого низа до верху, придётся сделать moveUp дважды подряд. Или ты можешь передать число шагов как аргумент команды перемещения, чтобы приказать своему герою сделать более одного шага, в одной команде.

Например, чтобы пройти два квадрата наверх, нужно набрать:

Избегая нападения огра собери все самоцветы и перейди на другую сторону. Остерегайся шипов.

Собери все самоцветы.

Огр не должен тебя увидеть.

Тень охраны

Используй укрытие, чтобы остаться незамеченным.

Здесь всё дело в умении скрываться. Пока у тебя ещё нет оружия, и ты не можешь сразиться с огром, охраняющим проход.

Вместо этого попробуй обойти колонну так, чтобы он не увидел. Затем можешь забрать самоцветы и дойти до финиша незамеченным.

Эти самоцветы разбросаны по всему подземелью Китгарда.

Твой герой должен выжить.

Собери все 4 самоцвета.

Доберись до выхода.

Бонус: нет проблем с кодом.

Бонус: менее 9 строк кода.

На этом уровне вам потребуется написать несколько команд. Убедитесь, что освоили автоматическое завершение чтобы писать свой код быстрее. Вы можете напечатать hero.moveR и нажать Enter для автоматического завершения команды hero.moveRight() .

После того как вы закончите простые перемещения на этом уровне, придет время научиться атаковать!

Сбеги из зоны, пока твои союзники удерживают волны огров!

Найди Сеника и Омарна.

Защити их с помощью кристалла.

Твои союзники сдерживают вторжение, пока ты несёшь кристалл Сенику и Омарну в правой части карты.

Твоя цель - двигаться к правой части карты, пока союзники отражают волны огров.

Обрати внимание на подсказки, которые дают союзники. Также ты можешь увидеть, как они используют продвинутое оружие, магию и код!

Остановись, когда достигнешь красной отметки X на земле. Исходящее от кристалла сияние отбросит скелетов.

Нет, имеются в виду не аргументы как доводы для обоснования, как в логике или риторике, а подобие аргументов функций в математике! Это информация которая может передаваться в метод, чтобы он вёл себя по другому.

Аргумент - это информация заключенная между ( и ) когда вызывается метод или функция.

Когда ты вызываешь метод moveRight() , то можешь предоставить ему дополнительную информацию для изменения результата. Эта дополнительная информация называется "аргументы" или "параметры".

В метод moveRight() аргумент можно передать вот так: moveRight(3) . Это заставит героя переместиться сразу на 3 хода, вместо 1.

Существуют методы, которым обязательно требуются аргументы, в их отсутствии они не будут знать что делать!

Узнай верное имя врага чтобы одолеть его.

Базовый синтаксис, Строки

Атакуй Брака (Brak) и Трегу (Treg).

Твой герой должен выжить.

Верные имена

Убедись что атакуешь каждого огра дважды.

Заглавные буквы в именах огров важны. Brak и brak - это два разных имени.

Вот несколько советов, чтобы пройти этот уровень:

  1. Вам нужно атаковать каждого огра дважды, чтобы победить его.
  2. Пишите имена с большой буквы! "Brak" и "Treg" .
  3. Помещайте имена в кавычки, чтобы сделать их строками. Строки это тип данных. Они представляют собой текст.
  4. После того, как вы убьёте огров, двигайтесь к самоцвету справа.
  5. Не переживайте, если умрёте. Вы всегда можете начать заново.

Научись ориентироваться в битве.

Базовый синтаксис, Строки

Ваш герой должен выжить.

Бонус: нет проблем с кодом.

Атакуй каждого огра по имени. Помни что каждого огра нужно ударить дважды.

Убедитесь, что у вас достаточно хорошая броня, чтобы победить в этой битве! Вы должны купить Потускневший Бронзовый Нагрудник в магазине.

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

Ступай осторожно, опасность прямо под ногами.

Базовый синтаксис, Аргументы

Избегай огненных ловушек!

Используй не более 5 строчек кода.

Вражеская мина

Вы можешь использовать аргументы для оптимизации кода. Вместо:

Пол усеян огненными ловушками, однако есть безопасный путь к самоцвету.

Обратитесь за помощью к дружественному Библиотекарю!

Базовый синтаксис, Строки

У большинства уровней есть руководство, содержащее дополнительную информацию, чтобы помочь вам выполнить цели и узнать новые вещи.

Пароль к Библиотечной Двери "Hush" .

Подсказка: Используйте команду say чтобы произнести пароль!

Подсказка: Не забудьте использовать кавычки вокруг пароля, чтобы сделать его строкой, и напишите его с большой буквы.

Подписчики CodeCombat также получают доступ к видео-прохождениям большинства уровней.

Помните, что вы всегда можете открыть руководство если застрянете на каком-то уровне!

Спаси клавиатуру (и своего героя) с помощью циклов!

Базовый синтаксис, Циклы

Избегайте огненных ловушек!

Fire dancing

Оберегайтесь огненных шаров танцуя вправо и влево.

Используйте while-true цикл для бесконечного повторения, как в этом примере:

Код обычно выполняется в том порядке, в котором он написан. Циклы позволяют повторять часть кода множество раз не переписывая его.

Использование while-true циклов

Мы начинаем их использование при помощи ключевого слова while . Оно говорит вашей программе повторять тело цикла ПОКА (по-английски WHILE) пока нечто истинно (по-английски true).

Сейчас мы хотим чтобы наши циклы выполнялись вечно, поэтому пока мы будем пользоваться while-true циклом. Потому что истина (true) всегда истинна (true)!

Не переживайте по поводу того, что пока вам не очень понятно то что здесь говорится про это true. Мы объясним это позже. Просто запомните что while-true цикл - это цикл, который выполняется без конца.

Вот пример использования while-true цикла в коде:

Подсказка: Вы можете поместить внутрь while-true цикла всё что угодно! Но чтобы пройти этот уровень, вам нужно повторять только две команды: moveRight() и moveLeft() !

Циклы экономят время!

Базовый синтаксис, Циклы

Избегайте смертельного луча.

Уложитесь в 6 строчек кода.

Цикл за циклом

Вам нужно только один while-true цикл, содержащий 4 команды чтобы пройти этот уровень!

Дважды проверьте ваши отступы!

Вы можете пройти этот уровень, используя один while-true цикл, содержащий только 4 команды!

Убедитесь, что вы добавляете команды внутри while-true цикла. Дважды проверьте ваши отступы!

Кто знает какие ужасы скрыты в Шкафах Китгарда?

Базовый синтаксис, Циклы, Строки

Герой должен выжить.

Нет проблем с кодом.

Шкафы Китгарда

Вы можете выполнить любые действия перед while-true циклом .

Огров-охранников должно быть слишком много, чтобы вам их сдержать. Может быть вы найдете что-то полезное в шкафу ( по-английски "Cupboard" )?

Сперва встаньте рядом с шкафом "Cupboard" (встаньте на красную отметку X). Похоже он закрыт, так что для того чтобы взломать его, вам нужно атаковать его, неоднократно повторяя атаки в while-true цикле.

Лабиринт, построенный чтобы сбивать с толку странников.

Базовый синтаксис, Циклы

Герой должен выжить.

Сориентируйтесь в лабиринте.

Бонус за чистый код.

Бонус если уложитесь в менее 6 операторов.

Лабиринт с привидениями

Дважды проверьте отступы в коде!

Вам потребуется всего один while-true цикл содержащий четыре команды чтобы пройти этот уровень.

Циклы позволяют вам повторять один и тот же код снова и снова. Вы можете пройти этот уровень используя только четыре команды движения внутри while-true цикла.

Подсказка: чтобы пройти по коридору нужно две команды движения вправо, потом две команды движения вверх. Затем, вы можете затавить этот код исполняться повторно в while-true цикле чтобы пройти коридор до конца.

Убедитесь что все команды передвижения находятся внутри цикла чтобы они повторялись при выполнении!

Многие пытались, но лишь некоторые сумели выбраться из лабиринта.

Базовый синтаксис, Циклы

Герой должен выжить.

Сориентируйтесь в лабиринте.

Бонус за чистый код.

Бонус если уложитесь в менее 6 операторов.

Второй лабиринт

Помните, вам нужен лишь один while-true цикл. Он будет выполняться повторно!

Помните, вам нужен лишь один while-true цикл на каждом уровне, и убедитесь что весь ваш код находится внутри цикла.

Наведите курсор на документацию по while-true циклу внизу справа чтобы увидеть пример.

За страшной дверью лежит сундук, полный сокровищ.

Базовый синтаксис, Циклы, Строки

Герой должен выжить.

Бонус за чистый код.

Бонус за решение в менее чем 3 оператора.

Страшная Дверь

Вы можете использовать while-true циклы с любыми методами, например:

Вы можете сочетать while-true циклы и метод attack чтобы с легкостью сокрушать те объекты на которые требуется более одного удара, например, как эта дверь.

Вы можете атаковать дверь, обращаясь к ней по имени "Door" .

Используя цикл и метод attack , вы можете пройти этот уровень используя всего две строчки кода.

Используй свою первую переменную чтобы победить.

Переменные, Базовый синтаксис, Строки

Убей трёх огров.

Герой должен выжить.

Бонус за чистый код.

Известный враг

Объявляйте переменные таким образом:

Когда вы используете кавычки: "Kratt" , вы создаёте строку.

Когда вы не используете кавычек: enemy1 , то вы ссылаетесь на переменную enemy1 .

До сих пор, вы делали только:

  1. Вызов методов (таких команд как moveRight() )
  2. Использование строк (текста заключённого в кавычки как например "Treg") в качестве аргументов к методам
  3. Использование while-true циклов для повторения ваших методов снова и снова.

Теперь вы изучете как использовать переменные: ссылки на участки памяти (ячейки), в которых хранится информация. Значение переменных может изменяться когда мы сохраняем в них новые данные, вот почему они называются переменными.

Неудобно печатать имена Огров много раз, поэтому на этом уровне используйте три переменные для хранения имён огров. Когда вам нужно атаковать, вы можете использовать переменную ( enemy1 ), которая представляет сохраненную ранее в ней строку ( "Kratt" ).

Объявляйте переменные таким образом:

Когда вы используете кавычки: "Kratt" , вы создаёте строку.

Когда вы не используете кавычек: enemy1 , то вы ссылаетесь на переменную enemy1 .

Используй новые умения чтобы определять безымянных врагов.

Базовый синтаксис, Переменные

Убить трёх огров.

Герой должен выжить.

Бонус за чистый код.

Хозяин имён

Переменные хранят информацию чтобы ссылаться на неё позже. Вы можете назначить новое значение переменной в любое время.

Используйте метод findNearestEnemy() чтобы указать на ближайшего врага.

Помните с предыдущего уровня, что перменные ссылки на участки памяти (ячейки), в которых хранится информация. Значение переменных может изменяться когда мы сохраняем в них новые данные, вот почему они называются переменными.

Теперь вместо использования имён врагов, вы можете использовать очки и метод findNearestEnemy() чтобы сохранять ссылки на огров в переменных. Вам не нужно использовать их имена.

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

Помните: когда вы используете кавычки, как например в "Kratt" , то вы создаёте строку. Когда вы не используете кавычек, как например в enemy1 , то вы ссылаетесь на переменную enemy1 .


воспитательная: воспитывать трудолюбие и стремление добиваться выполнения поставленной задачи.

Ход занятия

Организационный момент.

Попробуйте ответить на следующие вопросы:

Что понимают под циклом?

Что называют телом цикла?

Какие виды циклов вы знаете?

Какой цикл называется вложенным?

Для чего нужно пошаговое выполнение программы?

Сегодня мы познакомимся с онлайн-сервисом Codecombat.

Codecombat — это игра для обучения программированию.

Игру создали Джордж Сейнс, Скотт Эриксон и Ник Винтер, в 2008 году.

Все действие игры происходит в режиме онлайн. Игра напоминает собой обычные игры, за одним главным исключением -управление персонажем и игрой осуществляется не привычным образом (нажатие клавиш для совершения действий), а путем ввода программного кода.

Основная цель Codecombat-повысить у детей интерес к программированию.

Мы будем изучать эту среду на самом сайте в онлайн-режиме.

III. Изучение нового материала.

Знакомство с онлайн-сервисом

В свободном доступе для изучения мы можем выбрать только курс Введение в информатику. Нам этого вполне будет достаточно.

Наш класс уже создан и называется Робомикс-3б, но он пока пустой. Давайте зарегистрируемся в нем как ученики. Переходим по ссылке в вайбере, вводим эл. почту, логин и придумываем свой пароль. Запоминаем и сохраняем свой пароль на ПК.

А теперь давайте попробуем пройти 1 уровень-Подземелья Китгарда.

Нажимаем кнопку Играть уровень.


На этом уровне для героя нужно написать код, чтобы он добрался до самоцвета.

Используем команды: hero. moveRight ()-идти направо, hero. moveLeft ()-идти налево,

hero. moveUp ()-идти вверх, hero. moveDown ()-идти вниз.

Переключаем раскладку клавиатуры на английский язык.

Пользуемся советами и подсказками. В меню игры можно отключить или убавить звук и фоновую музыку.

Для 1 уровня код формируется из трех строк: по линейному алгоритму

Код можно писать 2 способами:

1 способ – копируем текущую строку, вставляем на новую и редактируем

2 способ – переходим на новую строку, вводим символ h и из открывшегося меню выбираем нужную команду, которую потом тоже можно редактировать.

Удобнее использовать 2 способ записи кода!

В скобках команды записывается аргумент. Например, если для первой команды нашего кода добавить аргумент 2, то герой пройдет направо 2 шага.

После успешного прохождения нажимаем кнопку Готово, для перехода на новый уровень.

IV. Подведение итогов.

Вопросы по проведённому занятию:

а) Что вызвало у вас затруднения при выполнении уровня?

б) Какой из этапов уровня вам понравился больше всего?

в) Какой полезный вывод можете сделать для себя?

Попробуйте самостоятельно пройти 2 уровень - Самоцветы в глубине.

Посмотреть, как вы сделали задание и на каком уровне вы находитесь, я могу в нашем классе Робототехника-3б

Читайте также: