Вниз
Скачать: CL | DM;

Хранение данных   Найти похожие ветки 

← →
TButton ©   (2004-05-03 02:37) [0]

в РПГ, а точнее - в MMORPG.
я храню все данные в стринглистах, метод очень удобный, но меня несколько смущает. хотя бы потому, что кушает не мало памяти.

например, каждая ячейка карты выглядит вот так (пока пустая)
-coord- 0 0
-kind- 0 0
-wind- T
-weather- clear|rain|storm|snow|blizzard|clouds

[users]
[/users]

[objects]
[/objects]

[buildings]
[/buildings]

[plants]
[/plants]

а их у меня 65536 штук
+здания
+игроки
+мобы
+растения
+объекты
+системные переменные, преимущественно - списки, тоже стринглистами.

я вот думаю, если это просто и эффективно, стоит ли переходить на что-то другое? например, написать свою структуру. это должно увеличить скорость и уменьшить размер занимаемой мемори, но также это добавит головняков. например, те же списки пользоваиелей, они ведь перемещаются, надо их удалять из одних списков, добавлять в другие. замена текстовок на динамические массивы напрягает корявыми процедурами удаления. да и... как-то не охото переписывать гору кода, когда есть удобные функции для парсинга.

вобщем. вопрос такой, стоит ли браться переписывать, пока не поздно или можно оставить как есть?


← →
BorisSV ©   (2004-05-12 19:49) [1]

Cоздавай свои тип данных, потом указатель на него(Pointer) и
вместо стринг листа TList
Можно что то типо сл.:

Type
 MyDataType=record
 Name: String;
 X: Double;
 Y: Double;
 ......
 ......
end;

Type
 FMyDataType: MyDataType;
 PMyDataType: ^MyDataType;

var
 Spisok: TList;

implementation

Procedure SpisokAdd(AMyDataType: MyDataType);
Begin
 New(PMyDataType);
 PMyDataType^ := AMyDataType;
 Spisok.Add(PMyDataType);
End;

Procedure SpisokRemove(Index: Integer);
Begin
 Spisok.Delete(Index);
 Dispose(PMyDataType);
End;

Function GetFromSpisok(Index:Integer): TMyDataType;
Begin
 PMyDataType := Spisok.Items[Index];
 Result:=PMyDataType^;
End;


← →
имя   (2004-05-15 12:05) [2]

Удалено модератором



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
14-1092210671
Григорьев Антон
2004-08-11 11:51
2004.08.29
Скобки при отсутствии параметров


8-1086673664
X-Disa
2004-06-08 09:47
2004.08.29
Смена иконки


3-1091797083
Zelius
2004-08-06 16:58
2004.08.29
Будущее Jet


1-1092466756
Андрей1
2004-08-14 10:59
2004.08.29
ANSI или ASCII


14-1092117931
Jenek
2004-08-10 10:05
2004.08.29
Температура Процессора




   Наверх