Возможно ли создание двумерных массивов на гуи war3?
Эти одномерные выродочные массивы дико раздражают, ибо приходится делать кучу if then else, перепрыгивая с одного на другой, место элегантного решения.
Как пример:
numres = уровень предмета
numberplayer = такой-то игрок
PlayerRes[numres,numberplayer]=1 (что, предположим, устанавливает 1 единицу дерева игроку)
Все. Точка. Финиш. Можно идти гулять. Легко вернутся и добавить сюда что угодно.
Но мне приходится делать
numberplayer = такой-то игрок
if numres = 1 then
PlayerWood[numberplayer] = 1
else
if numres = 2 then
PlayerStone[numberplayer] = 2
else
И если мне вдруг захочется поменять код, то в каждое условие мне нужно добавлять ещё условия и ещё действия. И все это жутко-прежутко. Даже в цикл не загнать.

Похожие вопросы:

ответ
в джасс нету двухмерных
они есть в вджасс
можешь хоть 100 мерный но размеры массива надо заранее указывать размер массива
ответ
читаем последние комментарии, и юзаем поиск

`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
24
Clamp, спеки есть?
Посмотреть как это реализовано.
12
avuremybe:
Clamp, спеки есть?
Посмотреть как это реализовано.
100% как всегда делают, умножают первый индекс на максимальный размер второго (поэтому обязательно указание размеров!), прибавляют второй индекс, и загоняют это все в обычный одномерный массив.
30
avuremybe, объяви 2D-массив и посмотри во что скомпилится, как получится — так и реализовано.
Sergarr, близко, но используется не совсем обычный массив, а расширенный (тоже фича vJass) ограничение количества элементов которого составляет что-то там ~65000, ЕМНИП.
24
Clamp, да это понятно.
Но для этого нужно качать jngp и все равно искать мануал как это делать.
30
avuremybe, написать в кастом код integer array test[10000][6] и сохранить, например. Результат в war3map.j. Скачать JNGP проблем не вижу, он весит 7 мб.
16
А почему нельзя первые/последние два порядка использовать для номера игрока?
19
avuremybe, короче, бот сказал тоже самое. Если нужна таблица, где игрок - столбец, а ресурс строка, то чтобы получить 3 ресурс у 5 игрока, нужно обратиться к ячейке одномерного массива под номером 12*3-(12-5). Так же реализовано в жнгп. Мы просто представляем одномерный массив, как ленту разрезанную каждые n столбцов
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.