LostCoast
offline
Опыт:
2,633Активность: |
оптимален ли код
наконец-то я выучил vjass и хочу предоставить мою первую наработку, хочу узнать есть ли какие-нибудь ошибки, что можно исправить и т.п.
Отредактировано LostCoast, 21.09.2011 в 17:47. |
19.09.2011, 21:35 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
LostCoast, вместо скопа юзай либу и все будет круто +)
|
19.09.2011, 21:51 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
LostCoast
offline
Опыт:
2,633Активность: |
alexprey, если я использую либу то функции типа ReleaseTimer, GetTimerData, SetTimerData не работают
Faion, ну допустим ты стреляешь по врагу стоящему через пропасть и в яме есть враги, если не будет солизии то снаряд будет врезаться в тех кто внизу,недолетая до нужных |
19.09.2011, 22:06 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elf_Stratigo
offline
Опыт:
4,699Активность: |
есть подозрение, что некоторые поля должны быть статическими при быстром просмотре нашёл одну утечку в Con(), очень критичную |
19.09.2011, 22:20 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
LostCoast
offline
Опыт:
2,633Активность: |
Elf_Stratigo, а поконкретней?
|
19.09.2011, 22:23 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elf_Stratigo
offline
Опыт:
4,699Активность: |
Для любого заклинания выполняется:
Если заклинание не обрабатывается этой системой, структура не будет уничтожена.
Поведение всех таймеров одинаково для всех структур (период, функция). Будет правильным выделить это поведение относительно всех структур и иметь всего один объект. Конечно для этого придётся преобразовать код. Может поведение и других частей структуры не зависит от её состояния, не вчитывался. |
19.09.2011, 22:31 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
LostCoast
offline
Опыт:
2,633Активность: |
Elf_Stratigo , так у меня вроде обрабатывается, че-то я никак вникнуть не могу...
Отредактировано LostCoast, 20.09.2011 в 01:53. |
20.09.2011, 00:01 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elf_Stratigo
offline
Опыт:
4,699Активность: |
Представь, что было событие EVENT_PLAYER_UNIT_SPELL_EFFECT с кодом заклинания 'AAAA' Тогда ни в один if не попадёшь, а по завершению функции Con() у экземпляра Option o не будет вызван деструктор |
20.09.2011, 11:27 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
LostCoast
offline
Опыт:
2,633Активность: |
Elf_Stratigo, я себя таким нубом чувствую когда читаю твои посты. Но навело меня на мысль и так, если я правильно понял, то при каждом произнесении любого спелла у меня создается структура Option и ничего не делает
такой код будет правильным? Код:
|
20.09.2011, 12:14 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Elf_Stratigo
offline
Опыт:
4,699Активность: |
да
заметь, удобно иметь некую БД где можно было бы установить соответствие между заклинанием и значениями для структуры тогда добавление нового типа снарядов можно было бы организовать в одну строчку, а сложность выбора нужных данных в функции Con() для структуры была бы О(1) |
20.09.2011, 14:11 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
LostCoast
offline
Опыт:
2,633Активность: |
тоесть сделать из Con стандартную
function влалал returns boolean return заклинание endfunction а все перерасчеты в функции action, ну в принципе буду дорабатывать свою систему пока как раз пытаюсь её оптимизировать на сколько можно. |
20.09.2011, 14:22 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,134Активность: |
для любителей байтосчитания можно оптимизировать ряд объектов, например точки, не создавать их, а двигать на нужные корды, получать Z и отпускать.
не использовать структуры и кастом объекты там где нет явной необходимости. все патроны можно двигать одним единственным таймером который не создаётся и не удаляется. |
20.09.2011, 18:21 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
LostCoast
offline
Опыт:
2,633Активность: |
Цитата:
например MoveLocation(X,Y) ? Цитата:
такой метод знаю,создается тригер с таймером и идет постоянная проверка не пуста ли ячейка с юнитом, если есть инит то его двигаем,но это через массивы. Цитата:
дня 4 назад я вообще не знал как писать на vjass этот код является в принципе моим первым творением, и вроде бы он неплохо написан. |
|||
20.09.2011, 19:28 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
LostCoast
offline
Опыт:
2,633Активность: |
я думаю тему можно закрыть, всем спасибо за советы.
|
21.09.2011, 17:47 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|