Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.032 c
6-1088353563
alexa
2004-06-27 20:26
2004.08.29
Передача файлов


14-1092131844
вразлет
2004-08-10 13:57
2004.08.29
Прогнозы на будующее экономическое "процветание" Украины и России


14-1092207513
BillyJeans
2004-08-11 10:58
2004.08.29
Размер переменной типа Boolean, кто знает?


1-1092401649
Nata
2004-08-13 16:54
2004.08.29
Файлы


14-1092122418
KADAN
2004-08-10 11:20
2004.08.29
SDK по F1





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский