Подробности использования массивов, все вопросы сюда

Подробности использования массивов, все вопросы сюда

Ответ на вопрос заданный в сообщении #p1302

Gildmaster,
Вкратце: в QSP есть возможность использовать массивы (работа с массивами). Значит вместо одного значения одной переменной x = 10, можно сохранить несколько значение под одним именем, указывая в скобках после имени переменной код или индекс очередного значения вот так:

Код:

x[0] = 10

x[1] = 12
x[2] = 9

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

Код:

сила['лебедь'] = 5

сила['рак'] = 3
$я = 'щука'
сила[$я] = 2

P.S. значек "$" показывает что переменная строковая.

Ntropy
useravatar
Offline
146 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Подробности использования массивов, все вопросы сюда

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

Gildmaster
useravatar
Offline
5 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Подробности использования массивов, все вопросы сюда

Удобнее делать не динамичное название, а использовать многомерный массив.
Ntropy,
если тебе не сложно, напиши подробно про использование многомерных массивов.

Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Подробности использования массивов, все вопросы сюда

Gildmaster,
В QSP в массивах в качестве индекса можно использовать строки, которые в свою очередь могут складываться из нескольких строк. Это позволяет использовать массивы как многомерные. Например для заполнения карты можно записать:

Код:

x = 1

y = 2
$ячейка[x+", "+y] = "3х палубный"
$ячейка[(x+1)+", "+y] = "3х палубный"
$ячейка[(x+2)+", "+y] = "3х палубный"

Даже если названия (имена) динамические и их количество может отличаться в разных случаях то для хранения информации об объекте игры или персонаже также можно использовать массив. Например для в случае (из вопроса) с расстояниями до врагов:

Код:

$я="Кузнецов"

$имя_персонажа[0]=$я
$имя_персонажа[1]="Иванов"
$имя_персонажа[2]="Петров"
$имя_персонажа[3]="Сидоров"
расстояние[$я+"_"+$имя_персонажа[1]] = 3
расстояние[$я+"_"+$имя_персонажа[2]] = 4
расстояние[$я+"_"+$имя_персонажа[3]] = 5

В этом примере, зная имена персонажей можно получать и изменять расстояния между ними.
Также вместо имен можно использовать и их порядковые номера:

Код:

расстояние2[1+"_"+2] = 6

расстояние2[2+"_"+3] = 7
расстояние2[1+"_"+4] = 8

В этом примере у нас массив 2-х мерный. А измерений может быть и больше.

P.S. Gildmaster, заходи на канал http://tinyurl.com/qsp-irc, там у нас живое общение.

Ntropy
useravatar
Offline
146 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Подробности использования массивов, все вопросы сюда

Также добавлю, что в примерах кода есть примеры и по массивам.

Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений
  • Список
  • » Архив
  • » Подробности использования массивов, все вопросы сюда

Информация

Статистика форума:
 
Всего тем:
974
Всего опросов:
14
Всего сообщений:
16790588
Сообщений на этой неделе:
3
Пользователи форума:
 
Всего пользователей:
2371
Последним зарегистрировался:
Artog