16GB
GhostOne User
offline
Опыт:
59,317Активность: |
Перевод 1.24+
В общем хотел одну старую мапку перевести на новый патч, смотрел эту тему, но как применить конкретно у этому случаю, я не знаю, жду помощи.
» Весь Код
» Функции С РБ
|
15.12.2013, 19:10 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
собственные попытки решить проблему?
тут работы на 5 минут если что. |
15.12.2013, 21:12 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
59,317Активность: |
в той теме примеры
такие
ввели integer получили хэндл, а тут location ввели его и получили function LL_ly takes location l returns location call SaveFogStateHandle(MyHash,0,0,ConvertFogState(а сюда чё списывать? там был тот integer, но точка то не integer)) return LoadLocationHandle(MyHash,0,0) endfunction |
15.12.2013, 21:58 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
собственные попытки это код, написанный, оформленный, с отладкой, но при этом он не работает или работает не так как нужно.
где это всё, где хоть одна строка отладочного вывода?
да и в коде прекрасно видно что в Y хранится следующая точка, а в X хранится пейлоад, система отвратительная и просто жутчайшая. |
16.12.2013, 02:36 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
это линкед лист вы так имплементите?)) |
16.12.2013, 05:11 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
quq_CCCP
Я белый и пушистый!
offline
Опыт:
94,598Активность: |
((код jass
functionLL_ly takes location loc returns location call SaveFogStateHandle(MyHash,0,0,ConvertFogState(R2I(GettLocationY(loc)+0.05))) return LoadLocationHandle(MyHash,0,0) endfunction )) Вроде вот что должно получится, Y одного локейшена равен хендлу другого локейшена, но тут возможны баги ибо У локейшена это тип Real а не Integer... Довольно странная ситема RB, зачам было изобретать такое? |
16.12.2013, 06:24 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
автор системы слегка болеет, а может и не слегка, ни один человек в здравом уме не будет делать списки таким образом, для этого есть ванильные массивы как бы.
да и контроллер памяти хоть и не является тривиальной задачей, но очень и очень реализуем, делаем блоки по 16, сборщик мусора и метаданные, если подходить к вопросу грамотно, фрагментации не будет больше раза и доступ к данным можно будет реализовывать простой итерацией.
в худшем случае доступ будет реализован двумя чтениями из массива каждое 15 чтение (чтобы передвинуть оффсет на следующий блок) |
16.12.2013, 07:10 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
не будем говорить, что линкед лист почти нигде не нужен, кроме списков обсерверов/хэндлеров/листенеров
|
16.12.2013, 11:14 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
вам не кажется что прямым назначением списка тут и не пахнет, весь код про доступ к случайному элементу (который включает луп по всем элементам) |
16.12.2013, 11:54 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
16GB
GhostOne User
offline
Опыт:
59,317Активность: |
DioD:
я вообще не знаю как это работает, я хотел по быстрому перевести карту на новый патч, не переписывая половину кода, я просто не понимаю эту функцию
она создаёт точку, с пустой X координатой и координатой Y от другой точки ли что? тогда причём тут рб вообще.
в общем, если кто может дать рабочий код дайте. |
16.12.2013, 12:57 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
16GB, это несложно, но я объясню =)
давай рассмотрим такой код
Мы создаём ссылку на объект (или хендл, в жассе все объекты хендлы) типа локация с именем full и записываем в него результат создания объекта Location с полями: full.x = 1.0, full.y = 2.0
Создаём еще один хендл типа location с именем "y" и присваиваем ему значение результата LL_ly(full), коим является Y-поле объекта full, преобразованное в тип "location handle" дальше мы создаем real-переменную ry и присваиваем ей значение функции LL_h2r(y), коми является преобразованный хендл y в тип real все эти операции, за исключением доставания поля y из локации, предназначены, чтобы обойти запрет интерпретатора и компилятора на присвоение переменных разного типа
ScorpioT1000 добавил: грубо говоря, они зачемто сохраняют в хендл локации значение real-поля Y другой локации Отредактировано ScorpioT1000, 16.12.2013 в 13:23. |
16.12.2013, 13:13 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
как это зачем, чтобы потом доставить значение преобразовывать обратно и получать следующую точку!
это типа оптимальный метод постоения связанного списка случайного размера (хотя давать подмассив фиксированного размера чтобы на всё хватало было бы проще и не надо было бы парится ни с ретурн багом ни с преобразованиями.
отладка делается проще чем вы думаете, достаточно после метода показывать то значение которое он выдаёт, а до метода то значение которое в этот самый метод попадает, чтобы было видно что было до и что было после. |
16.12.2013, 15:55 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
но не факт, что в рандомном месте вместо локейшона будет другой объект в памяти
ScorpioT1000 добавил: вот нормальный LinkedList www.wc3c.net/showthread.php?t=103604 |
16.12.2013, 17:57 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
я могу предложить соревнование:
кое кто делает отладку в коде и публикует результаты этой отладки.
я на основании результатов отладки делаю фикс, вернее не так, если отладка сделана грамотно я делаю фикс, вне зависимости от того, имеют результаты отладки хоть какойто смысл (главное чтобы был proof of work с вашей стороны) думаю это будет честно, вы показываете что стараетесь и получаете, что хотите.
я лично не вижу смысла в связанном списке 1 к 1 так как в списке всегда нужны все объекты разом, а для этого есть массивы (соответственно мой солюшин будет про growablearray) |
16.12.2013, 19:47 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
список нужен только тогда, когда ты интенсивно удаляешь из рандомного его места и при этом не должен меняться порядок |
16.12.2013, 20:05 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|