Сейчас 19:08:14 Четверг, 28 марта, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Двумерный массив (На Gui как реализовать?)
Двумерный массив
Q1wAseДата: Понедельник, 22 Апреля 2013, 18:35:54 | Сообщение # 1
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Помогите на Gui реализовать двумерный массив. Если будут варианты со строковыми переменными то по подробнее, они мне не очень, то уж понятны. Классно было бы если была переменная просто двухмерная.
например
set a[0,1] = 4
buba Мне типо такого надо.




Сообщение отредактировал Q1wAse - Понедельник, 22 Апреля 2013, 18:36:21
 

lawsonДата: Понедельник, 22 Апреля 2013, 18:37:47 | Сообщение # 2
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Цитата (Q1wAse)
set a[0,1] = 4

именно такое не получить
возможен вариант
set a[0][1] = 4


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

NaturekidДата: Понедельник, 22 Апреля 2013, 18:38:57 | Сообщение # 3
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
разве не ты создавал похожую тему?
было такое, точно помню.


 

SirNikolasДата: Понедельник, 22 Апреля 2013, 18:41:42 | Сообщение # 4
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
60-44140-1#1583004

 

Q1wAseДата: Понедельник, 22 Апреля 2013, 18:45:29 | Сообщение # 5
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
разве не ты создавал похожую тему?
было такое, точно помню.

Было. Но я этого не нашёл, а если память мне не изменят, то точного ответа для себя я не добился.
Цитата (lawson)
именно такое не получить
возможен вариант
set a[0][1] = 4

Как реализовать? Строчку cs подскажешь? Или как? =)

Добавлено (22 Апреля 2013, 18:45:13)
---------------------------------------------

Цитата (SirNikolas)
60-44140-1#1583004

Нифига себе. Я такое врят ли смогу =(

Добавлено (22 Апреля 2013, 18:45:29)
---------------------------------------------
Хотел сделать МУИ спелл одно что...


 

NaturekidДата: Понедельник, 22 Апреля 2013, 18:45:37 | Сообщение # 6
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
вообщем допустим нужно указать на A[I,J]
Содержание:
Для массива где I и J по модулю не больше 10:
A[строка в число(числов строку(I)+число в строку(J))]
Для Для массива где I и J по модулю больше 10 но не больше 100:
Если длина строки(число в строку(I))<2 то тогда I2:=строка в число("0"+число в строку(I)) иначе 2 = 1
Если длина строки(число в строку(J))<2 то тогда J2:=строка в число("0"+число в строку(J)) иначе 2 = 1
*При условии, что хоть один из I и J - двузначный., иначе - дополнительная проверка.
A[I2,J2]
Для Для массива где I и J по модулю больше 100 но не больше 1000:
Если длина строки(число в строку(I))<3 то тогда I2:=строка в число("00"+число в строку(I)) иначе 2 = 1
Если длина строки(число в строку(J))<3 то тогда J2:=строка в число("00"+число в строку(J)) иначе 2 = 1
A[I2,J2]




Сообщение отредактировал Naturekid - Понедельник, 22 Апреля 2013, 19:00:19
 

Q1wAseДата: Понедельник, 22 Апреля 2013, 18:51:09 | Сообщение # 7
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
Naturekid

Жесть...
на языке программирование проще...
например как в школе помню паскаль
const n=100;
var
a: array[1..n,1..n] of integer;
i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
a[i,j]:=random(15)-5;
end.
вот так же нельзя?


 

NaturekidДата: Понедельник, 22 Апреля 2013, 18:54:52 | Сообщение # 8
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Подправил, вот так.

Добавлено (22 Апреля 2013, 18:53:34)
---------------------------------------------

Цитата (Q1wAse)
на языке программирование проще... например как в школе помню паскаль

ну ты сравнил, тут же нет двумерных массивов, а там есть, тут можно их только сымитировать.
Ничего такого страшного, правда на гух ты задолбаешься щёлкать эти конверты числа в строку и обратно, но ничего, быстро надрочишься. :)
Я, пока делал Bejewelled надрочился так, что уже автоматом с таким двумерным массивовм шпарю.

Добавлено (22 Апреля 2013, 18:54:35)
---------------------------------------------
Q1wAse, в твоём случае наверное

Цитата (Naturekid)
Для массива где I и J по модулю не больше 10: A[строка в число(числов строку(I)+число в строку(J))]

подойдёт наверное?

Добавлено (22 Апреля 2013, 18:54:52)
---------------------------------------------
Хотя тебе же МУИ, а не МПИ


 

lawsonДата: Понедельник, 22 Апреля 2013, 18:55:55 | Сообщение # 9
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Цитата (Q1wAse)
Как реализовать? Строчку cs подскажешь? Или как? =)

динамические массивы если тебе это о чемто говорит


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Q1wAseДата: Понедельник, 22 Апреля 2013, 18:57:58 | Сообщение # 10
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
Я, пока делал Bejewelled надрочился так, что уже автоматом с таким двумерным массивовм шпарю.

Ахахах. Я пока читал про твой метод, аж передумал делать двумерный массив хД.
Голова аж кипит. Особо сильно не понял. Понял только типо -
// Primer
//Obratitisa k
~ a[i,j]~
ничего не понял....

Добавлено (22 Апреля 2013, 18:57:58)
---------------------------------------------

Цитата (lawson)
динамические массивы если тебе это о чемто говорит

На джассе ничего не говорит, потому что не знаю как устроены массивы на Jass'e.


 

NaturekidДата: Понедельник, 22 Апреля 2013, 18:58:10 | Сообщение # 11
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Ну короче там не без дыр ^, вообщем ты понял как шмалять, а ещё Николас вот такой фокус давал:
Пусть есть матрица 5x4. Пронумеруем строки и столбцы, начиная с нуля (у меня сначала записан номер строки, а потом номер столбца):
00 01 02 03
10 11 12 13
20 21 22 23
30 31 32 33
40 41 42 43

Заметим, что если читать слева направо и сверху вниз, то это будут последовательные числа в четверичной системе счисления (ну, кроме последней строки). Перепишем ту же самую таблицу, переведя числа в десятичную:
00 01 02 03
04 05 06 07
08 09 10 11
12 13 14 15
16 17 18 19

"Развернем" матрицу в массив:
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19

Далее видим, что для того, чтобы получить значение ячейки в строке i и столбце j, нужно обратиться к элементу [i * 4 + j] в массиве (напомню, строки и стобцы нумеруются с нуля).


 

Q1wAseДата: Понедельник, 22 Апреля 2013, 18:59:57 | Сообщение # 12
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
Заметим, что если читать слева направо и сверху вниз, то это будут последовательные числа в четверичной системе счисления (ну, кроме последней строки).

То есть по главной диагонали?


 

NaturekidДата: Понедельник, 22 Апреля 2013, 19:01:14 | Сообщение # 13
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Цитата (Q1wAse)
То есть по главной диагонали?

Я цитировал, поскольку мне не в срочняк было, то я даже не прочёл внимательно.


 

ВолчачкаДата: Понедельник, 22 Апреля 2013, 19:02:24 | Сообщение # 14
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
Q1wAse, можно так же XD
а хеш таблица чем тебе не двумерный массив? там как раз на два id XD
LoadInteger( udg_H, a, b )
SaveInteger(udg_H, a, b, value )
 

Q1wAseДата: Понедельник, 22 Апреля 2013, 19:03:49 | Сообщение # 15
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Волчачка)
Q1wAse, можно так же XD
а хеш таблица чем тебе не двумерный массив? там как раз на два id XD
LoadInteger( udg_H, a, b )
SaveInteger(udg_H, a, b, value )

Отличная идея. Научиться бы ею пользоваться...


 

Ty3uKДата: Понедельник, 22 Апреля 2013, 19:04:08 | Сообщение # 16
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
vJASS
Или хэш


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Q1wAseДата: Понедельник, 22 Апреля 2013, 19:04:37 | Сообщение # 17
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Мне двумерный массив нужен только для того чтобы числа в неё закидывать, номера юнита с индексами.

 

NaturekidДата: Понедельник, 22 Апреля 2013, 19:05:46 | Сообщение # 18
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Q1wAse, собственно что осуществить то хочешь?
Какова соль заклинания?
Интересно просто где он тебе понадобился :)


 

lawsonДата: Понедельник, 22 Апреля 2013, 19:07:08 | Сообщение # 19
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Цитата (Q1wAse)
номера юнита с индексами.

номер юнита как ячейка число как значения, кстати хеш проще всего.


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!
 

Q1wAseДата: Понедельник, 22 Апреля 2013, 19:11:47 | Сообщение # 20
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
Q1wAse, собственно что осуществить то хочешь?
Какова соль заклинания?
Интересно просто где он тебе понадобился

Ну хорошо уговорил.

Кидает юнит в точку цепь, она летит от юнита к точке, на конце цепи большой крюк. После того как крюк долетает до точки возвращаясь обратно он собирает всех юнитов и тащит их к юниту кастеру, нанося урон и замедляя.
По сути я его уже сделал МУИ не двумерным масивом, НО у меня цепи нету и я её хотел реализовать в МУИ варианте, и в качестве цепи использую вот эту модель
Abilities\Weapons\WardenMissile\WardenMissile.mdl
Вот и всё. Весь скилл. Вроде бы ничего сложного однако с даммиками придётся попотеть, если хочу сделать такую цепь.

Добавлено (22 Апреля 2013, 19:11:47)
---------------------------------------------

Цитата (lawson)
номер юнита как ячейка число как значения, кстати хеш проще всего.

Я бы с радостью, да хэш-таблицей не умею пользоваться. Вообще...


 

lawsonДата: Понедельник, 22 Апреля 2013, 19:14:21 | Сообщение # 21
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
Цитата (Q1wAse)
Кидает юнит в точку цепь, она летит от юнита к точке, на конце цепи большой крюк. После того как крюк долетает до точки возвращаясь обратно он собирает всех юнитов и тащит их к юниту кастеру, нанося урон и замедляя.
По сути я его уже сделал МУИ не двумерным масивом, НО у меня цепи нету и я её хотел реализовать в МУИ варианте, и в качестве цепи использую вот эту модель
Abilities\Weapons\WardenMissile\WardenMissile.mdl
Вот и всё. Весь скилл. Вроде бы ничего сложного однако с даммиками придётся попотеть, если хочу сделать такую цепь.

если бы делал на гуи то да здесь нужен массив в массиве.
А так проще хеш, причем на МНОГО!


Nic nie wiem bo mam chuj.
редактирую посты! ВСЕ!


Сообщение отредактировал lawson - Понедельник, 22 Апреля 2013, 19:14:45
 

NaturekidДата: Понедельник, 22 Апреля 2013, 19:15:30 | Сообщение # 22
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Q1wAse, пока юнит кидает цепь - он ведь бездвижен как Жир в доте? И кроме него ещё хоть 1 юнит игрока может применять крюк?
Если нет - то МПИ хватает фпалне :)


 

Q1wAseДата: Понедельник, 22 Апреля 2013, 19:25:17 | Сообщение # 23
Группа: Проверенные
Сообщений: 1235
Награды: 0
Репутация: 286
Блокировки:
Цитата (Naturekid)
Q1wAse, пока юнит кидает цепь - он ведь бездвижен как Жир в доте? И кроме него ещё хоть 1 юнит игрока может применять крюк?
Если нет - то МПИ хватает фпалне

По мимо него ещё есть 11 игроков которые могут использовать этот скилл. И по сабжу я всегда делаю скилл МУИ, ибо так меньше утечек.

Добавлено (22 Апреля 2013, 19:25:17)
---------------------------------------------

Цитата (lawson)
А так проще хеш, причем на МНОГО!

Как им пользоваться??? =(


 

NaturekidДата: Понедельник, 22 Апреля 2013, 19:25:26 | Сообщение # 24
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
Q1wAse, ты по ходу не знаешь, что значит МПИ.
МПИ - мульти плеер инстанс - то есть у каждого игрока 1 юнит сможет юзать скилл.
МУИ - мульти юзер инстанс - без ограничений.
Цитата (Q1wAse)
По мимо него ещё есть 11 игроков которые могут использовать этот скилл.

Это МПИ, то есть по 1 рылу на каждого игрока.
МПИ крюк на гуи без утечек вот есть:
http://rghost.ru/45477773


 

Ty3uKДата: Понедельник, 22 Апреля 2013, 19:26:32 | Сообщение # 25
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Цитата (lawson)
По секрету структура вне конкуренции.

Отнюдь, хэш справится не хуже.

Посмотри статьи в подписи про МУИ, там про хэш рассказывается.


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » Двумерный массив (На Gui как реализовать?)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz