p01nTT
offline
Опыт:
11,160Активность: |
Что лучше?
Что лучше - присвоить через RB+cache игроку переменную типа integer или создать массив и в него её записать? Нужно для нескольких игроков.
p01nTT добавил: Переменных может быть около 8-ми(либо 8 массивов глобальных переменных, либо восемь записей в кэш на каждого игрока) |
17.11.2006, 12:37 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
108,439Активность: |
Если для одного значения ( к примеру фраги игроков ) то делаеш массив :
udg_Фраги [номер игрока] = ... |
17.11.2006, 12:42 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
p01nTT непонял... если тебе нужно присвоить 8 чисел, по одному на соответствующего игрока, то это можно сделать через обычный массив, записиваеш туда переменую в ячейку соответствующую номеру игрока.
Если присвоить каждому игроку надо 8 чисел то уже разумнее будет использовать RB+cache, но если у тебя они деномически изменяются/используются то уж лучше тогда через масивы... ради скорости. |
17.11.2006, 14:07 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
p01nTT
offline
Опыт:
11,160Активность: |
Jon А можешь объяснить,почему все так не любят глобалки? И объясни,где лучше хранить данные,которые не будут изменятся во время игры на этой карты?
|
17.11.2006, 14:26 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
p01nTT если не будут изменятся то лучше кеш, если изменятюся но не часто.. то лучше кеш... если часто изменяются (0,01-0,04) и их много.. то лучше масив...
глобальные масивы не любят тем что они одномерны, а кеш любят потомучто что он двухмерен... но глобалки работают быстрее кеша Отредактировано Jon, 17.11.2006 в 14:45. |
17.11.2006, 14:36 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
p01nTT
offline
Опыт:
11,160Активность: |
Jon ок, понял можно клозать тему.
|
17.11.2006, 14:43 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
кеш нужен только если данные храняться построкам, 2х массив можно сделать сложив его попалам несколько раз
8192 == 4096*2 == 2048*4 == 1024*8 == 512*16
того для восми измерений можно взять 1 массив и тогда будет 512 объектов на измерение, чего вполне достаточно Отредактировано DioD, 18.11.2006 в 16:47. |
18.11.2006, 15:04 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Цитата:
2-а тебе по математике |
|
18.11.2006, 16:19 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
хахаха я пропустил степень, щас исправлю.
ну короче 1024 == 2^10 от этого можно плесать
2^10 == 2^5*2^5
таким хитрым образом можно выбывать множители измерений легко и просто
2^12 == 2^3*2^3*2^3*2^3
таким образом 4 измерения и так далее |
18.11.2006, 16:46 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Цитата:
так ты используеш пол масива, если использовать весь.. то это уже будет 5 измерений... так? Я принцепи в этом не селен... Отредактировано Jon, 18.11.2006 в 17:08. |
|
18.11.2006, 17:01 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
нужно что-бы степень делилась ровно 13 степень ни туда ни сюда, поэтому юзаю иной механизм деления
8192*1==4096*2==2048*4==1024*8==512*16==256*32==128*64==2*64*64
как видно можно сделать двумерный массив с зеркалом, каждой ячейке будет по 2 значения
тоесть в первой ячейке инфа во второй номер следующей ячейки и так по цепочке
556(0)==юнит 1
556(1)==номер ячейки 999(0)==юнит 2 999(1)==номер ячейки так можно делать группы юнитов полностью на массиве без ограничения по размеру. |
18.11.2006, 17:42 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
p01nTT
offline
Опыт:
11,160Активность: |
DioDВсё решил массивы не юзать,кэшем привычней )), клозайте тему.
|
18.11.2006, 20:49 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|