Я вчера 4 часа сидел разбирал что как устроено, вырисовывал цифры по точкам.
Добавлю еще пару а может и тройку проверочных точек чтоб уж наверняка (не 90% попаданий а 1000%).
Правда формулу вычисления угла от грина я так и не смог вывести как у него (возможно из-за скудных методов инжекта пришлось ему извращатся), буду делать свою.
Смысл таков:
Каждая цифра антимкроса строится из 11 точек, которые в строго в определенной последовательности записываются в гампе.
Эти точки проходят незначительное изменение в виде рандомного+- по оси х и у (поэтому линии цифр кривые), и окончательный узор из набора точек поворачивается на коэффициент в одну или другую сторону.
Рандомные изменения каждой точки по осям не значительны, поэтому наглядно видно что у каждой цифры есть прямые углы.
Проверка, которую преложил Грин, заключается в том что скажем у цифры 3 и у цифры и у цифры 6 Точки 2-3-4 образуют разный угол.
У цифры 3 это прямой угол а у 6 - тупой.
Задача найти несколько комбинаций точек для каждой из цифр, образующих прямой угол, так что бы для других цифр углы образуемые этими точками были отличные от прямых.
Косинус прямого угла стремится к нулю, когда косинус острых и тупых углов приближается к 1.
Далее у нас есть 3 варианта ответа, и один из них правильный.
Задаем для каждой из 6 цифр свои уникальные комбинации точек с прямыми углами (у Грина для каждой по 2 проверочных угла, в этом и недостаток и ошибки тк например цифра 8 имеет неоднозначные комбинации по отношению к другим).
Далее исходя из того что нам предложили 3 варианта, отсеиваем остальные 3, и вычисляем для каждой цифры по заданным точкам косинусы углов.
Косинус угла 2х векторов равен скалярному произведению этих векторов, деленному на произведение длин этих векторов.
Правильный вариант будет тот чьи косинусы будут наименьшими, стремится к нулю. (углы прямые)
Виз- ок. Кстати неплохая мысль по поводу отладки работы с гампами)
я эту неплохую мысль уже 2й год использую для теста гампов - куда проще взять пакет, и скормить его стелсу, чем брать чара, заходить, что-то там делать, долго ждать гампа (который по рендому естественно появится через часа 4, и именно в то время, когда у тебя будет дисконнект, или стелс упадет, или логи не будут вестись и т.д.)
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Скопируй AbyssAntiMacro.pas в папку /scripts/
Чтобы подключить антимакрос, добавь вначале своего скрипта (на рыбалку, рубку и т.д) после Program lalala