Двухмерных массив, возможно ли создать?

Двухмерных массив, возможно ли создать?

Требуется создать двухмерный массив переменных. Возможно, ли такой сделать?
Опишу конкретно задачу:
Имеем 1000 пронумерованных персонажей. У каждого персонажа свой комплект одежды, переменная хранит описания комплекта одежды. Пока все ясно, создаём массив текстовых  переменных, индексом которых является номер персонажа.
Но, некоторые из персонажей имеют несколько комплектов одежды, не все…
Вопрос, как это все правильно организовать?
Можно конечно увеличить индекс массива на один ноль и персонажей нумеровать десятками, тогда каждый персонаж сможет иметь 10 комплектов одежды. Но возникают следующие вопросы:
Пустые переменные, индекс которых находятся между используемых, как-нибудь занимают память?
И как влияют, такие большие массивы с пустыми переменными на размер сохранения игры?

Изменено: Fakir74
26.Июн.19 20:06:47
Лёха
useravatar
Offline
5 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Двухмерных массив, возможно ли создать?

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

Re: Двухмерных массив, возможно ли создать?

Лёха,
Проще всего юзать текстовые индексы:

Код:


$NPC['0, 0'] = '[name]Петя[/name] [/body]Футболка[/body] [legs]Шорты[/legs] [shoe]Шлёпки[/shoe] [age]18[/age]'

И никаких тебе пустых массивов. Информацию можно доставать через рэгеспы.

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

Re: Двухмерных массив, возможно ли создать?

Лёха,
я бы использовал несколько одномерных массивов:

Код:

$объект[0]="Петя" & $расположение[0]="Комната"

$объект[1]="Отвёртка" & $расположение[1]="Петя"
$объект[2]="Гаечный ключ" & $расположение[2]="Петя"
$объект[3]="Молоток" & $расположение[3]="Петя"
$объект[4]="Вася" & $расположение[4]="Комната"
$объект[5]="Апельсин" & $расположение[5]="Вася"
$объект[6]="Радиоактивный пепел" & $расположение[6]="Вася"
$объект[7]="Орех нух-нух" & $расположение[7]="Вася"

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

Re: Двухмерных массив, возможно ли создать?

Engineer, благодарю за ссылку. Только вот сама статья находится в нелогичном месте, сам бы ее не нашел.

Oliver написал(а):

И никаких тебе пустых массивов. Информацию можно доставать через рэгеспы.

Эээ,я только начинаю программировать, что такое "рэгеспы",  и как мне может помочь символьная переменная с тегами внутри?
В любом случае у вас в примере один комплект одежды, а  требуется запомнить несколько таких. То есть НПСу могут подарить одежду, какая это одежде, не ясно, тогда у него будет несколько комплектов.

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

Re: Двухмерных массив, возможно ли создать?

Статья находится в "массивах", где ей еще быть?

Могу добавить, что вторую "мерность" можно определять в названии самой переменной. Например:

Код:

! массив $компл-оджд для каждого персонажа свой

$компл-оджд_Петя[]
$компл-оджд_Катя[]

! присваиваем комплекты
$компл-оджд_Петя[] = "Деловой костюм"
$компл-оджд_Петя[] = "Спальный костюм"
$компл-оджд_Петя[] = "Одежда охранника"

! выводим с помощью оператора dynamic используя "указатель", например:
#разговор_с_петей
$указатель = "Петя"
...

#вывод_одежды
dynamic '
i = -1
:цикл
i += 1
*nl $компл-оджд_<<$указатель>>[i]
if i<arrsize("$компл-оджд_<<$указатель>>")-1: jump "цикл"
killvar "i"
'

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

Информация

Статистика форума:
 
Всего тем:
972
Всего опросов:
14
Всего сообщений:
16790580
Сообщений на этой неделе:
2
Пользователи форума:
 
Всего пользователей:
2364
Последним зарегистрировался:
dmvikar