Глючит джасс
|
|
AU | Дата: Пятница, 12 Октября 2012, 11:58:10 | Сообщение # 1 |
7 уровень
Группа: Проверенные
Сообщений: 471
Награды: 0
Репутация: 70
Блокировки:
| Code function gAllPlayersPicked takes nothing returns boolean local integer n loop call DisplayTextToForce(GetPlayersAll(), "1") set n = n + 1 call DisplayTextToForce(GetPlayersAll(), "2") if udg_PickupSelected[n] == true or gPlayerDefined(n) == false then else return true endif exitwhen n >= 10 endloop return true endfunction
При вызове "1" в чат выводится, а "2" нет. В чём дело?
|
|
|
|
kapa6acvlk | Дата: Пятница, 12 Октября 2012, 12:24:02 | Сообщение # 2 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| AU, У тебя переменная n ничему не равна, у тебя поток дропается.
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|
Naturekid | Дата: Пятница, 12 Октября 2012, 12:54:16 | Сообщение # 3 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| В настройках игрока 2 игрок присутствует? Если нет, то даже имея юниты на карте - его нет.
|
|
|
|
Impregnable | Дата: Пятница, 12 Октября 2012, 13:02:26 | Сообщение # 4 |
6 уровень
Группа: Проверенные
Сообщений: 231
Награды: 0
Репутация: 92
Блокировки:
| Использование переменной "n" до присвоения ей значения. Учим основы jass.
Если долго мучиться, то может, все равно нихуя не получится.
|
|
|
|
AU | Дата: Пятница, 12 Октября 2012, 15:40:38 | Сообщение # 5 |
7 уровень
Группа: Проверенные
Сообщений: 471
Награды: 0
Репутация: 70
Блокировки:
| Quote (Impregnable) Использование переменной "n" до присвоения ей значения. Учим основы jass. Всё понятно, я просто забыл, и подумал что при создании она равна 0
|
|
|
|
Naturekid | Дата: Пятница, 12 Октября 2012, 15:55:21 | Сообщение # 6 |
Группа: Заблокированные
Сообщений: 4982
Награды: 3
Репутация: 3347
Блокировки:
| Quote (AU) я просто забыл, и подумал что при создании она равна 0 а это тут каким боком? Использовать то это её не мешает. Quote (kapa6acvlk) У тебя переменная n ничему не равна, у тебя поток дропается. Добавлено (12 Октября 2012, 15:55:21) --------------------------------------------- Или в смысле null что ли? а не 0...
|
|
|
|
kapa6acvlk | Дата: Пятница, 12 Октября 2012, 16:19:43 | Сообщение # 7 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| Quote (Naturekid) Или в смысле null что ли? а не 0... null != 0
для примера: Code function abc takes nothing returns nothing local integer a local integer b = 0 if(a == b)then call BJDebugMsg("true") else call BJDebugMsg("false") endif endfunction Вот только False ты не увидишь, т.к. функция дропнется, при попытке прочитать значение переменной a
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|
SirNikolas | Дата: Пятница, 12 Октября 2012, 16:23:01 | Сообщение # 8 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (kapa6acvlk) null != 0 Вообще говоря, равно. Но это здесь ни при чем - как сказали, крашится поток.
|
|
|
|
kapa6acvlk | Дата: Пятница, 12 Октября 2012, 16:30:39 | Сообщение # 9 |
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
| Quote (SirNikolas) Вообще говоря, равно. Разве null это число, буквально неделю назад у тебя интересовался по этому поводу, и был мне дан ответ, что null ссылкой является, но не число он.
Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна. © Александр Зорич
|
|
|
|
SirNikolas | Дата: Пятница, 12 Октября 2012, 16:46:14 | Сообщение # 10 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| null - это ссылка на ячейку памяти по адресу 0x00000000. То есть это число 0. Разница в использовании - мы можем сложить (сконкатенировать) строки, находящиеся по адресам x и y, а можем сложить сами адреса (правда, последнее в JASS сделать не получится). kapa6acvlk, начните учить C, и механизм работы JASS'а станет таким понятным.
|
|
|
|
Impregnable | Дата: Пятница, 12 Октября 2012, 18:29:35 | Сообщение # 11 |
6 уровень
Группа: Проверенные
Сообщений: 231
Награды: 0
Репутация: 92
Блокировки:
| Quote (SirNikolas) kapa6acvlk, начните учить C, и механизм работы JASS'а станет таким понятным. Так вот для чего C нужен
Если долго мучиться, то может, все равно нихуя не получится.
|
|
|
|
Ty3uK | Дата: Пятница, 12 Октября 2012, 21:20:34 | Сообщение # 12 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Сел учить D
|
|
|
|
SirNikolas | Дата: Суббота, 13 Октября 2012, 14:59:34 | Сообщение # 13 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Quote (Impregnable) Так вот для чего C нужен Просто там объясняется то, о чем JASS'ер практически не задумывается.
|
|
|
|
AU | Дата: Суббота, 13 Октября 2012, 21:52:44 | Сообщение # 14 |
7 уровень
Группа: Проверенные
Сообщений: 471
Награды: 0
Репутация: 70
Блокировки:
| Quote (SirNikolas) kapa6acvlk, начните учить C, и механизм работы JASS'а станет таким понятным. а ещё в джассе цикл более 20000 (около того) раз запуститься не может вопр поч?
Сообщение отредактировал AU - Суббота, 13 Октября 2012, 21:53:05 |
|
|
|
Ty3uK | Дата: Суббота, 13 Октября 2012, 21:56:57 | Сообщение # 15 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| AU, переполнение потока
|
|
|
|
AU | Дата: Суббота, 13 Октября 2012, 22:02:15 | Сообщение # 16 |
7 уровень
Группа: Проверенные
Сообщений: 471
Награды: 0
Репутация: 70
Блокировки:
| Quote (Impregnable) Речь пойдет о гениальных программистах Blizzard, а точнее о том, что они сделали. они подарили нам утечки замедлили выполнение кода в десятки раз
Сообщение отредактировал AU - Суббота, 13 Октября 2012, 22:03:34 |
|
|
|
lawson | Дата: Суббота, 13 Октября 2012, 22:04:37 | Сообщение # 17 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| AU, они подарили нам на много лет вперед огромную кучу малолетних даунов, визжащих по любой проблеме триггеров на 365 дней в году.
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
Сообщение отредактировал lawson - Суббота, 13 Октября 2012, 22:05:04 |
|
|
|
Ty3uK | Дата: Суббота, 13 Октября 2012, 23:20:50 | Сообщение # 18 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Тогда дядя Страуструп тоже гад, который придумал delete и не придумал автоматическую сборку мусора.
|
|
|
|
SirNikolas | Дата: Воскресенье, 14 Октября 2012, 08:34:26 | Сообщение # 19 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Сборщик мусора замедляет работу программы из-за постоянного подсчета ссылок. У дяди Страуструпа есть автоматический вызов деструктора, этого при грамотном использовании вполне хватает. Но если уж так хочется - std::auto_ptr<X>.
Сообщение отредактировал SirNikolas - Воскресенье, 14 Октября 2012, 11:09:39 |
|
|
|
Ty3uK | Дата: Воскресенье, 14 Октября 2012, 10:21:37 | Сообщение # 20 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Ник, это же был голый сарказм
|
|
|
|