XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

 
ZeToX2007

offline
Опыт: 7,009
Активность:
J, Почему ерунда ? если мы каждому нужному предметы создадим Destructable с таким же id, то есть мы легко сможем получить предмет по id Destructable, и Destructable по id предмета
Старый 17.08.2009, 16:26
J
expert
offline
Опыт: 48,447
Активность:
потому что ерунда
Старый 17.08.2009, 16:31
ZeToX2007

offline
Опыт: 7,009
Активность:
J, Но работает отлично
Старый 17.08.2009, 17:01
J
expert
offline
Опыт: 48,447
Активность:
J, Но работает отлично
имей ввиду, что программиста за слова "работает да и ладно" можно увольнять с работы
получение декорации по предмету и обратно - не динамическая операция, нет реального выйграша в скорости, цель не оправдывает средства, за тем чтобы у всех декораций совпадало определенное количество бит равкода от предмета нужно постоянно за этим следить при создании новых предметов, также на каждый новый предмет придется создавать свою собственную декорацию, неважно одинаковые у декораций иконки или нет, каждый раз новую
Старый 17.08.2009, 17:18
ZeToX2007

offline
Опыт: 7,009
Активность:
Цитата:
Сообщение от J
создавать свою собственную декорацию, неважно одинаковые у декораций иконки или нет, каждый раз новую

О боже, для создание предмета требуется куда больше времяни...

Суть такая я создаю инвентарь другим методом... а именно с помощью ХеШтаблиц и id предмета. при запуске создаем декорации с таким же id, которые сохраненны в хтбл, а где 0, создаём пустые слоты. то есть id будут универсальны, как для создание декорации так и для создание предмета.
Старый 17.08.2009, 17:56
J
expert
offline
Опыт: 48,447
Активность:
О боже, для создание предмета требуется куда больше времяни...
допустим мы создаем компанию и у нас есть 250 нестандартных предметов, тебе будет легче под каждый предмет сделать новую декорацию + к пару сотням декорация стандартных предметов, или воспользоватся уже имеющимися и ниодной лишней декорации не создать?
Суть такая я создаю инвентарь другим методом... а именно с помощью ХеШтаблиц и id предмета. при запуске создаем декорации с таким же id, которые сохраненны в хтбл, а где 0, создаём пустые слоты. то есть id будут универсальны, как для создание декорации так и для создание предмета.
т.е. ты каждому типу предмету сопоставляешь тип декорации, если у предметов одинаковые иконки то ты просто сопоставляешь им одинаковые декорация? как глупо... видно ты очень недолго работал с инвентарями.. ну вообщем ладно, страдай фигней дальше...
Старый 17.08.2009, 18:20
ZeToX2007

offline
Опыт: 7,009
Активность:
Цитата:
Сообщение от J
допустим мы создаем компанию и у нас есть 250 нестандартных предметов, тебе будет легче под каждый предмет сделать новую декорацию + к пару сотням декорация стандартных предметов, или воспользоватся уже имеющимися и ниодной лишней декорации не создать?


за пару часов думаю можно управиться.
Старый 17.08.2009, 18:36
J
expert
offline
Опыт: 48,447
Активность:
че ты от меня хочешь услышать? ну делай...
Старый 17.08.2009, 18:39
ZeToX2007

offline
Опыт: 7,009
Активность:
Цитата:
Сообщение от J
т.е. ты каждому типу предмету сопоставляешь тип декорации, если у предметов одинаковые иконки то ты просто сопоставляешь им одинаковые декорация? как глупо... видно ты очень недолго работал с инвентарями.. ну вообщем ладно, страдай фигней дальше...

Невижу ничего глупого

call CreateDestructable(LoadInteger(HT,GetHandleId(u),i),x,y,270,0)
call CreateItem (LoadInteger(HT,GetHandleId(u),i),0,0)

Ну можно и масивом пользоваться, ну ХТ как раз и созданная для таких целей.

Не считаешь, что это более удобно ? да лично у меня, редко когда два предмета с одной и той же иконкой.
Старый 17.08.2009, 18:50
J
expert
offline
Опыт: 48,447
Активность:
Ну можно и масивом пользоваться, ну ХТ как раз и созданная для таких целей.
а я не говорю не пользоваться хешем, кок раз и нужно
вобщем ты просто не понимаешь о чем речь не шаришь... TT
я кокраз для таких как ты статью и писал
хотя даже есть моменты которые я бы поправил будь время
Старый 17.08.2009, 19:13
ZeToX2007

offline
Опыт: 7,009
Активность:
Если будет приумещаство твоего корказа, я рано или поздно дойду до него, но сейчас я этих преимуществ невижу.
Старый 17.08.2009, 19:44
J
expert
offline
Опыт: 48,447
Активность:
какого коркаса? хотя впрочем неважно, если ты настолько глуп чтобы игнорировать все что тебе говорят я невижу причин говорить тебе чтолибо еще
Старый 17.08.2009, 20:17
ZeToX2007

offline
Опыт: 7,009
Активность:
J, я на личности не переходил, да и твоя система не оч. лично для меня, и игнорирую, потому можно сделать лучше и удобне и быстрее.
Старый 17.08.2009, 20:27
J
expert
offline
Опыт: 48,447
Активность:
че ты от меня хочешь услышать? ну делай...
Старый 17.08.2009, 20:34
ZeToX2007

offline
Опыт: 7,009
Активность:
J, просто ты не видишь явные преимущества, точнее не хочешь видеть... все, мне безумно надоело тратить силы на тебя.
Старый 17.08.2009, 20:44
JamesBlack
black mind
offline
Опыт: 6,595
Активность:
Так, я как интересующаяся личность и пытающийся разобраться в коде новичок щас разгребу все что вы тут отговорили и спрошу интересующие моменты:

Цитата:
Сообщение от J
программиста за слова "работает да и ладно" можно увольнять с работы

разве назначение одинаковых id для предмета и декорации может привести к ошибке?



Цитата:
Сообщение от ZeToX2007
если мы каждому нужному предметы создадим Destructable с таким же id, то есть мы легко сможем получить предмет по id Destructable, и Destructable по id предмета

Цитата:
Сообщение от J
получение декорации по предмету и обратно - не динамическая операция, нет реального выйграша в скорости

Почему так? Т.е. если взять id предмета и по нему найти декорацию, получится не быстрее, чем через кеш взять текстуру для предмета и найти по этой текстуре декорацию?



Цитата:
Сообщение от J
чтобы у всех декораций совпадало определенное количество бит равкода от предмета нужно постоянно за этим следить при создании новых предметов, также на каждый новый предмет придется создавать свою собственную декорацию, неважно одинаковые у декораций иконки или нет, каждый раз новую

Цитата:
Сообщение от J
допустим мы создаем компанию и у нас есть 250 нестандартных предметов, тебе будет легче под каждый предмет сделать новую декорацию + к пару сотням декорация стандартных предметов, или воспользоватся уже имеющимися и ниодной лишней декорации не создать?

Цитата:
Сообщение от ZeToX2007
за пару часов думаю можно управиться.

Ну, во первых мы ведь говорим не об универсальных системах, а об инвентаре, требуемом конкретному проекту, т.е. если мы заранее знаем, что предметов будет ВСЕГО скажем около 150-200, то вполне реально. Во вторых, и в правду, не очень хорошо, если многие предметы будут иметь одинаковые иконки.



В итоге, кроме того, что ZeToX2007 создает чуть больше декораций в РО, чем у тебя, J, я не увидел ни одного минуса, который ты аргументировал. Ну только если поиск по id действительно окажется медленнее пользования кешем.

ADDED:
Большинство критики имело содержание:
Цитата:
> потому что ерунда
> как глупо...
> страдай фигней дальше...
> ты не шаришь...


Если взялся писать эту статью, будь добр, дай более развернутый ответ, почему так хуже, а так лучше!
Старый 17.08.2009, 21:50
J
expert
offline
Опыт: 48,447
Активность:
разве назначение одинаковых id для предмета и декорации может привести к ошибке?
речь шла не одинаковых ид, а ид отключающихся доуг от друга на одно и тоже число, т.е. например idDest = idItem-0x10000 и подобное...
Почему так? Т.е. если взять id предмета и по нему найти декорацию, получится не быстрее, чем через кеш взять текстуру для предмета и найти по этой текстуре декорацию?
быстродействие не имеет значение, это не динамическая операция, оптимизировать ее не имеет смысла, тут больший приоритет имеет удобство
но делай через ид неудобно, потому что я уже говорил выше придется создавать для каждого предмета по одной декорации, также неудобно и долго настраивать равкоды объектов и заниматься отладкой
идеальный вариант это на каждый тип предмета атачить используемую им текстуру, и на каждую текстуру атачить соответствующую ей декорацию, через хеш это возможно сделать т.к. есть нативная хеш функция для строк, тогда добавлять новую декорацию нужно будет только при импорте новой текстуры, которых меньше чем предметов, а изменить текстуру для предмета не придется копаться в кучи декоров и искать соответствие между декорами и предметами чтобы изменить пути текстур у правильных объектов, т.к. все делается на джассе (для аналогии можно привести разницу в наборе арифметических операций в гуи и на джассе, т.е. чем меньше окошечек тем лучше, правится все хорошо в текстовом формате)
Ну, во первых мы ведь говорим не об универсальных системах, а об инвентаре, требуемом конкретному проекту, т.е. если мы заранее знаем, что предметов будет ВСЕГО скажем около 150-200, то вполне реально.
это никогда не известно заранее даже в собственном проекте, в процессе написания придется еще многое что переделывать и переписывать, пару декораций не удалил, пару лишних добавил и будут ошибки или лишние декорации, а отладкой для ид заниматься сложно
Во вторых, и в правду, не очень хорошо, если многие предметы будут иметь одинаковые иконки.
ну тогда нужен тот идеальный вариант что я сказал выше
J добавил:
Если взялся писать эту статью, будь добр, дай более развернутый ответ, почему так хуже, а так лучше!
мне глубоко пофиг будете вы это читать или нет
нравится вам статья или нет
меня это не интересует, статья писалась не для критики, а лишь как обучающий материал
если с чем-то в ней вы не согласны это не мои, а ваши проблемы
делайте как вам удобно, но не пудрите мозги тем кто смотрит данный топик инфой противоречащей статье
просто представьте что автор не дураг и не просто так высосал из пальца инфу без никакого опыта и тестов в отличии от ZeToX2007, где то что он говорит основано на не опыте, а лишь на его теории из здравого смысла

Отредактировано J, 17.08.2009 в 22:25.
Старый 17.08.2009, 22:03
JamesBlack
black mind
offline
Опыт: 6,595
Активность:
Т.е. одинаковый id для разных хендлов делать нельзя, даже если они разных типов?
Старый 17.08.2009, 22:04
J
expert
offline
Опыт: 48,447
Активность:
JamesBlack, ты путаешься между словами хендл, ид и тип
в верхнем посту все что я говорил насчет ид это имел ввиду тип (равкод)
хендлы мы пока не затрагиваем
J добавил:
JamesBlack
мы ведь говорим не об универсальных системах, а об инвентаре, требуемом конкретному проекту
кстате, любую систему хоть для своего проекта хоть для другово нужно писать так будто пользоватся ей будете не вы, делай ее максимально гибкой и универсальной, даже любое самое очевидное взаимодействие с сстемой оборачивать в функцию, хоть даже вы наизусть его знаете, в этом и есть "тру-кодинг"
Старый 17.08.2009, 22:27
JamesBlack
black mind
offline
Опыт: 6,595
Активность:
все преподы по АЯПу и ООП тоже самое говорят... не совсем согласен с этим, но спорить не буду, промолчу.
Старый 17.08.2009, 22:44

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 09:31.