Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: 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 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.023 c
1-1092684916
mouse_web
2004-08-16 23:35
2004.08.29
Проблемы с ComboBox


3-1091605000
Oksana
2004-08-04 11:36
2004.08.29
Сохранение результата запроса в Recordset


14-1092077360
gn
2004-08-09 22:49
2004.08.29
500 ДОЛЛАРОВ США ЗА ОБНАРУЖЕНИЕ ДЫРЫ В БРАУЗЕРЕ MOZILLA


14-1091985919
AlexG
2004-08-08 21:25
2004.08.29
Говорят, технология ActiveX устарела


4-1090235980
Deep8
2004-07-19 15:19
2004.08.29
RESET





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский