Списки

Списки

> Руководство

Список позволяет хранить несколько значений в определённом порядке.

Создание и использование списка

Список можно создать с помощью следующего синтаксиса:

Первая позиция в списке — это позиция 0. Доступ к конкретному элементу списка осуществляется так:

Для работы со списками доступно множество функций, представленных в разделе «Списки» документации. Наиболее заметные из них:

Перебор списка с помощью цикла for in

Перебрать все значения списка можно с помощью обычного цикла for, например так:

Но существует вариант цикла for, позволяющий проще перебирать значения списка — цикл for in. Следующий код эквивалентен предыдущему, но более лаконичен:

Оценка урона оружия и условие «добивания»

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

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

Начнём с использования функции getWeaponEffects, которая возвращает список эффектов оружия:

Эффект сам является списком, содержащим 6 следующих элементов: [type, min, max, turns, targets, modifiers]. Вычисляем итоговый урон для этого эффекта:

Добавляем урон к общей сумме:

Завершаем условием: если общий урон больше жизни врага, мы его убьём — атакуем! Иначе ждём с чипами:

> Совет: к диапазону списка можно обратиться с помощью синтаксиса список[2:8].

> Совет: списки можно вкладывать: список внутри списка [ [1, 2, 3] ] и обращение к списку внутри списка: список[0][0]

❓ Викторина

Для чего может использоваться список?

Хранить несколько значений Сортировать значения Выполнять инструкции параллельно Выполнять несколько вычислений

Какие коды корректны?

var a = [1, 2, 3] a[0] + a[2] var [a] = [1, 2] var [1, 2, 3] count([1, 2, 3]) [ [1, 2], [3, 4], [5, 6] ] список[5][10]

Полный ИИ