Лаборатория Амфилохия

Больше
9 года 5 мес. назад #95047 от Paranoid
Скачал твою демку, как ты советовал, но что-то не нашел в ней урока по считыванию ноте-тегов

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 5 мес. назад #95048 от Amphilohiy
Внезапно, в странной теме.
Соль в том, что другие мои скрипты опираются на этот парсер. Самого урока именно по тегам может и не быть (каюсь). Но по сути там самое главное в моем недомануле
Code:
Amphicore::TextParser.parse_text(" Файербол требует газ, конечно же <item> require_item 16 => 1 <end> Ну и анимация конечно же <item> cast_animation 4 <+> fail_animation 7 <end> Я забыл что делает этот ключ, но без него все ломается <item> sacrifice_to_baal blood of virgin", Amphicore::TextParser::NOTE_PARSEKIT) # => {:require_item => "16 => 1", :cast_animation => "4", :fail_animation => "7", :sacrifice_to_baal => "blood of virgin"}
А для нотов есть чисто
Code:
Amphicore::TextParser.get_note(item)

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby Организатор конкурсов Даритель Стимкея 2 место Сбитая кодировка Переводчик 2 место
Больше
9 года 5 мес. назад #95051 от strelokhalfer

Amphilohiy пишет: Кто-нибудь тут?

А что бы сразу хешем не принимать?

"Стрелок, что-то ты неочень похож на свой аватар..."(с)

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 5 мес. назад - 9 года 5 мес. назад #95052 от Amphilohiy
Code:
Amphicore::MapFactory.apply_roller(pattern: 5, brush: 1, map: id, region: 1, layers: [0, 3])
Местами может быть неудобно.

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 9 года 5 мес. назад пользователем Amphilohiy.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 5 мес. назад #95066 от Paranoid
И еще вопрос. Удаление эвента происходит точно так же как обычная команда или же нет? Очень интересен этот вопрос.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 5 мес. назад #95067 от Amphilohiy
Не совсем понятен вопрос, но перезаход на карту не вернет событие... Ничто его уже не вернет... Во всяком случае такие инструменты не предусмотрены.

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 5 мес. назад - 9 года 5 мес. назад #95069 от Paranoid
Не знаю как в асе, но в мв событие продолжает так сказать существовать, то есть оно все еще где-то там на карте, у него есть ид и прочее. А мне бы хотелось чтоб прям тру удаление, никаких следов.

И такая проблемка, демка запускается только через редактор, иначе выдает Еррор. Сохранение вообще не дает запустить, будто его нет.
Последнее редактирование: 9 года 5 мес. назад пользователем Paranoid.
Спасибо сказали: Amphilohiy

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 5 мес. назад #95070 от Amphilohiy
Егора выдает если пытаться загрузить а потом начать новую игру. Этот баг буду ловить, а сама сохраненка... Ну, она от старой версии и просто не рабочая, тут извините.
По хорошему события больше быть не должно, хотя учитывая некоторый ньюанс подгрузки карт надо понимать, что они подменяются по загрузке. Но в загруженной быть не должно.

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 5 мес. назад #95072 от Paranoid
А где в скрипте указывается карта с шаблонами?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 5 мес. назад #95074 от Amphilohiy
Code:
#=============================================================================== # CONFIG CORE #=============================================================================== module Amphicore EVENT_FACTORY_TEMPLATES = [2, 7]

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 5 мес. назад #95075 от Paranoid
А, есть разница между картами? Или можно грузить все шаблоны с одной.

Сори за тупые вопросы.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 5 мес. назад - 9 года 5 мес. назад #95076 от Amphilohiy
Особой нет, можно и с одной. Но есть один подвох тем не менее - из за устройства работы тайлсетов события, которые имеют графику тайлсета карты (B, C и др.) конвертируются из того, какими они были в шаблонной карте в те, которые будут на используемой карте (надеюсь понятно выразился). Тем не менее, если шаблон и используемая карта имеет один и тот же тайлсет, то разницу не будет. Если будешь использовать события, графика которых берется из тайлеста, то просто будет удобно иметь по карте шаблона на тайлест, в котором и будут события с тайлсетовой графикой.

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Последнее редактирование: 9 года 5 мес. назад пользователем Amphilohiy.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 5 мес. назад #95077 от Paranoid
Ну это и так понятно, спасибо. Заберу твой скрипт, очень поможет.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
9 года 5 мес. назад #95178 от Paranoid
Амфи, возникла небольшая сложность, ты не мог бы сделать фикс для своей фабрики эвентов. Так как команда erase_event(@event_id) не хочет работать в маршруте события.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
9 года 5 мес. назад #95181 от Amphilohiy
Ну, конкретно по скрипту лучше и писать в тему с фабрикой (который находится тут ).
Собственно по самому фиксу - это еще не совсем ошибка. Судя по всему, по исполнению маршрута код выполняется не в интерпретаторе, а в событии. Для события я не дублировал интерфейс, но в будующем обновлении сделаю. Тем не менее интерпретатор не является главным исполнителем кода, можно обратиться напрямую к модулю фабрики.
Code:
Amphicore::EventFactory.erase(@id)
И да, для события id находится в @id, а для интерпретатора в @event_id. Это большой вопрос - буду ли я возится с окружением исполнения.
Тем не менее я по наводке поймал баг зависания, и над ним уже буду работать.

Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
Спасибо сказали: Paranoid

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
Больше
7 года 1 мес. назад #109615 от Amphilohiy
*Сметает пыль с парты в коробочку*
Так!
Некоторое время назад я увидел в интернетах драму по поводу божественных программистских скилов YandereDev (тот, что пилит Yandere simulator). Все негодование выражается в этой картинке:
ВНИМАНИЕ: Спойлер!

Это подняло много криков, в том числе, что switch работает лучше, быстрее и вообще. Как по мне беда не в этом, но собрал я вас тут из-за этого. В общем я решил пустить парочку бенчмарков на nodejs чтобы проверить парочку альтернатив. Итого у меня набралось 4 варианта (примеры из 4 состояний под катом):
  1. if (value ==
ВНИМАНИЕ: Спойлер!

  • if (value ===
  • ВНИМАНИЕ: Спойлер!

  • switch(value){case
  • ВНИМАНИЕ: Спойлер!

  • map[value]
  • ВНИМАНИЕ: Спойлер!



    Результат покажу в графике по ссылке . Результаты даже... радуют. Хочу отметить что шкала экспоненциальная, а падение линейное. По умолчанию я предполагаю что в таких случаях if и switch ищет по дереву. А вот объект вообще имеет константное время. По умолчанию я виню во всем хэш таблицы.

    Скачать пакет для ноды можно тут .
    *Вываливает пыль из коробки обратно на стол*

    Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
    Спасибо сказали: yuryol, Rude, Noxmils

    Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

    Разработчик Программист JavaScript Проект месяца 3 место Проект месяца 1 место Проект месяца 2 место Учитель Оратор Ветеран Даритель Стимкея 2 место Программист Ruby Паладин
    Больше
    7 года 1 мес. назад #109616 от DK
    DK ответил в теме Лаборатория Амфилохия
    Что по осям расположено ?

    Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

    Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
    Больше
    7 года 1 мес. назад #109617 от Amphilohiy
    Долговато парился с графиком, что забыл их подписать.
    По Y количество операций в секунду (Герц), по X количество состояний а в скобках комбинаций (самих ифов, свитчей, ключей)

    Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
    Спасибо сказали: Noxmils

    Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

    Оратор 1 место в Готв 3 место Готв 2 место Учитель Композитор Победитель конкурса Организатор конкурсов
    Больше
    7 года 1 мес. назад #109618 от yuryol

    Amphilohiy пишет: Долговато парился с графиком, что забыл их подписать.
    По Y количество операций в секунду (Герц), по X количество состояний а в скобках комбинаций (самих ифов, свитчей, ключей)


    я не понял итог:(

    типа чем больше вариантов, тем лучше себя показывает объект?
    а свитч всегда медленнее чем ифы?

    если так,то я рад за объект, ибо болел за него =З свитч аще дурацкая конструкция, какая-то инородная

    Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

    Программист Ruby 2 место Готв Победитель Сбитой кодировки Учитель Оратор
    Больше
    7 года 1 мес. назад #109621 от Amphilohiy

    yuryol пишет: типа чем больше вариантов, тем лучше себя показывает объект?
    а свитч всегда медленнее чем ифы?

    если так,то я рад за объект, ибо болел за него =З свитч аще дурацкая конструкция, какая-то инородная

    Я бы скорее сказал что скорость у if и switch скорее одинаковая, но объект их догоняет только где-то на 30 ключах, и обгоняет где-то на 60.

    Lekste пишет: По-моему кто-то бенчмаркил неправильно.

    Мощное заявление, проверять, кончено же, ты его не будешь? Там архив валяется, всегда можно ткнуть пальцем где именно неправ.

    Lekste пишет: Насколько помню, в JS свитч использует хеш

    По-моему кто-то помнит неправильно. И что? Обнимемся и вместе пойдем?
    Вообще как по мне так не факт, что все реализации js имеют одинаковые решения (в конечном счете таких движков гора ). А если предположить, что объект в данном случае работает на хэшах, то уже видно, почему для switch эта затея не очень - вычисление хэша довольно трудоемкое дело, относительно простого сравнения. А кейсов по 30-60 штук писать в коде мало кто удосужится в целом, кроме как в академических целях.

    Я верю, что иногда компьютер сбоит, и он выдает неожиданные результаты, но остальные 100% случаев это чья-то криворукость.
    Спасибо сказали: Noxmils

    Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

    Время создания страницы: 0.130 секунд
    Работает на Kunena форум