Ознакомьтесь с базовыми возможностями отладки в браузере Google Chrome. Ссылка на туториал.
Ознакомьтесь с функциональностью проекта. Ссылка на описание проекта.
Мы на практике разбираемся как выполняется реализованный код. Сам код доделывать не нужно. Всё готово. Необходимо только "поковырять" его и посмотреть, как он работает по шагам.
- Запустите файл
index.html
. - Найдите начало выполнения кода.
- Поставьте точку останова (
breakpoint
) внутри функцииplay
. - Изначально вы не остановитесь на точке останова, так как код выполнился и все действия закончились. Поэтому обновите страницу, чтобы остановиться на точке.
- Переходите к следующей конструкции по шагам (на кнопку F10). Если других точек останова нет, то программа будет выполняться только по циклу.
- Затем поставьте точку останова внутри метода
turn
на 232 строке. - Продолжайте такое же выполнение до момента остановки в методе
turn
. - Наведите курсор на значение
this.playerEnemy
. Если у пользователя нет противника, то в вы увидитеundefined
. - В таком случае, выполнение кода по шагам на F10 или F11 зайдёт внутрь условия на 236 строке. После выполнения условия у бойца должен появиться противник. Если выполнять на F11 с заходом внутрь функции, то можно увидеть вход в метод
chooseEnemy
и процесс выбора противника. - Добавьте в панель
Watch
текущего воина:this
. - Из панели
Watch
измените скорость воина (свойствоspeed
). - Из панели
Scope
измените прочность оружия у воина (свойствоdurability
у объектаweapon
). - В отображаемом окне уменьшите количество здоровья у выбранного противника. Выставьте любое значение.
- Откройте вкладку консоль и смените оружие у противника на нож. Для этого введите
this.playerEnemy.weapon = new Knife()
. - Командой перехода внутрь конструкции попробуйте как можно глубже продвинуться по выполнению кода. Выполняйте код по шагам до нескольких методов внутрь, чтобы понять, как заполняется
Call Stack
. - Поставьте точку останова в методе
isDead()
. - Добавьте условие для срабатывания точки останова: воин должен быть мёртв. То есть здоровье должно стать равно нулю:
this.life == 0
. - Продолжите выполнение пока не остановитесь в условной точке, которую создали не предыдущем шаге.
- Убедитесь, что данный воин мёртв. Для этого в консоли введите
this
, разверните объект и убедитесь, что значение свойстваlife
равно нулю. - Воскресите воина, исправив ему значение жизней. Изменить значение можно двойным кликом.
- В панеле
Breakpoints
выключите все точки останова и продолжите выполнение. - Из консоли запустите битву с другими пользователями. Для этого в консоли выполните функцию
play
и передайте в неё массив с персонажами, аналогично тому, как вызывается функция в коде.