Печатник lvl1
Typo
offline
Опыт:
4,157Активность: |
Как узнать что структура существует
Пробегаюсь по структуре лупом. Код на удалённых структурах начинает тупить. Как узнать что структура существует?
Код:
Отредактировано Печатник lvl1, 07.07.2009 в 13:49. |
07.07.2009, 13:32 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
а зачем тебе пробегаться по ним лупом? если у тебя спецальный масив в котором находятся структуры метод который нужно выполнить то заноси в масив только существующие структуры |
07.07.2009, 13:44 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Печатник lvl1
Typo
offline
Опыт:
4,157Активность: |
метод не причём. просто мне сюда нужно какоето условие для проверки.
Опишу зачем луп. [Делаются юниты, юниты добавляются в группу, группа вместе с другими параметрами во вновь созданную структуру.] И так допустим 5 раз повторили. получилось подряд 5 id ячеек параллельных массивов(хз как назвать). Далее бегаю по ним лупом и делаю всякое) Случай: Юниты из группы в id=3 все попередохли и я делаю [set mystruct=3; call mystruct.destroy() ] после этого код на i=3 d в лупе тупит. |
07.07.2009, 14:00 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
храни номер последней сруктуры, когда подыхает какаято структура перемещай на ее место структуры из последнего номера, и уменьшай номер последней структуры на ед.
J добавил: здесь пример |
07.07.2009, 14:04 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Печатник lvl1
Typo
offline
Опыт:
4,157Активность: |
А можно юзать переменные созданные после интерпретирования(о_0) VJass'a в Jass? Там же както это определяется, mystruct.create() пишется первую свободную ячейку, даж в моём случае(^) новая структура записалась бы не в 6, а в 3, которую я до этого удалил. Если там уже зафиксированы пустые ячейки мб заюзать информацию оттуда? |
07.07.2009, 14:12 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Печатник lvl1 можно, но я бы не рекомендовал, лучше не смешивать 2 разные системы
да и в итоге при удалении структуры пробелы останутся, их будут заполнять новосозданые структуры, если ты создашь 50, удалишь 20, то 20 интераций будут лишними, до того как ты создаешь еще 20 структур, в процессе чего возможны еще удаления, что очень не оптимально, а то что я тебе говорю это решение где в массиве вообще отсутствуют пробелы |
07.07.2009, 14:22 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Печатник lvl1
Typo
offline
Опыт:
4,157Активность: |
J, понял спасибо. буду разковыривать пример)
|
07.07.2009, 14:26 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
строго по сабжу: [имя структуры]!=0 |
07.07.2009, 14:27 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Van Damm
wait... what?
offline
Опыт:
22,268Активность: |
agentex он брутфорсом присваивает им id, так что в его случае твое условие всегда будет истинно
|
07.07.2009, 15:11 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
agentex
offline
Опыт:
34,834Активность: |
Van Damm я же говорю:
Код:
|
07.07.2009, 15:25 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Печатник lvl1
Typo
offline
Опыт:
4,157Активность: |
я малость запутался. пример не понял многобукв. легче так всё представить.
пример: есть структуры с id 1 2 3 и запись в глобалке что последняя это 3. дестрою 2. и вот на этом остановился) Код:
|
07.07.2009, 15:33 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
в примере смотри только методы Add() и Delete() |
07.07.2009, 15:41 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Печатник lvl1
Typo
offline
Опыт:
4,157Активность: |
ога.. значит структуру не трогать, а при удалении\создании использовать метод формирующий массив структур без пробелов. правильно понял? |
07.07.2009, 15:53 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
ну что-то типо... да |
07.07.2009, 15:56 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Печатник lvl1
Typo
offline
Опыт:
4,157Активность: |
вот так сделал но чото неработает) ход мыслей правильный?
Код:
(исправлено) Отредактировано Печатник lvl1, 10.07.2009 в 14:02. |
10.07.2009, 12:48 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
Код:
и переименую cganext переименуй во что-нибудь по нормальнее, переменная содержит количество нормальный структур буквально, так что и называй cgacount J добавил: также переменную index сделай приватной, потому что к ней не должен быть доступ из вне, т.к. обращается она только внутри структуры J добавил: также напомню что эти функции должны быть в самом верху структуры, потому что их могут вызывать другие методы из структуры, и если они вдруг будут находится ниже, то это не будет ошибкой но вызываться они будут неявно для тебя через Триггер |
10.07.2009, 13:02 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Печатник lvl1
Typo
offline
Опыт:
4,157Активность: |
о да забыл индекс обновлять. а зачем приватность и менять название? для читаемости? |
10.07.2009, 13:04 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
J
expert
offline
Опыт:
48,447Активность: |
менять название - для читаемости, чтобы переменная отображала суть приватность - правильно с точки зрения инкапсуляции |
10.07.2009, 13:07 | #18
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|