Одеваем персонажа правильно!

Для играющих в Аллоды Онлайн не является секретом наличие в игре разнообразия элементов экипировки и множества тех или иных характеристик, значение которых необходимо поддерживать на должном уровне. На низких уровнях подобрать для себя комплект одежды у НПС за репу или квесты, или на аукционе не так уж и сложно, да и стоят эксперименты по примерке не так уж и дорого. Но…растет ваш уровень, увеличивается кол-во надеваемых элементов экипировки, растет и их стоимость. Приходится или запасаться письменными принадлежностями и скрупулезно высчитывать плюсы или минусы замены, например, одной куртки на другую, или же положиться исключительно на «О! вроде нужные мне параметры круче, чем есть сейчас, надо брать!».
Но и ежу понятно: ни первый, ни второй случай не являются страховкой от напрасной траты игровых денежек, когда совершенно неожиданно на какой-нибудь характеристике перса появляется что-то типа «Значение этой характеристики слишком мало для Вашего уровня». А денег на обновки приходится тратить все больше и больше.
Когда мне это вконец надоело, возникла идея написать какую-нибудь вспомогательную софтинку, которая сама бы все считала, а мне бы оставалось только целенаправленно покупать ту одежку, результат одевания которой мне 100% известен. В результате, предлагаю уже работоспособный вариант такой программы: калькулятор, версия 1.0 J.
Не буду описывать алгоритм работы (да и не интересно это), а перейду непосредственно к рабочим функциям программы.
При запуске появляется форма, над заполнением которой придется все-таки посидеть. Отталкиваться в расчетах приходится от начальных параметров, а где их взять? – правильно, запускаем игру и кропотливо переносим значения в клеточки J. Т.е. открываем в игре окно персонажа, наводимся на каждую из 14 характеристик и переносим значения базовых и бонусных величин в первые две строки, выделенные на первом рисунке зеленым прямоугольником. А теперь повторяем то же самое для каждого из текущих элементов одежды и вооружения, которыми оснащен персонаж и заполняем оставшиеся ячейки (нули на отсутствующих в одежде параметрах вносить необязательно).
 
  
Муторно? Согласен, однако, проделать это придется всего 1 раз, а затем только исправлять изменившиеся значения после очередного переодевания, что происходит с каждым новым уровнем все реже и реже. После окончания ввода не забываем «Сохранить изменения». При выходе из программы все введенные значения автоматически сохраняются, и при следующем запуске нужно всего лишь нажать кнопку «Загрузка из файла». В верхней же строке (красный прямоугольник), после сохранения или загрузки отображается, как несложно догадаться, сумма всех значений каждой из 14-ти характеристик персонажа. Если эти числа соответствуют в итоге тому, что вы видите в окне персонажа, смело нажимаем кнопку «Перейти к обновкам».
 
 

 
По порядку по этой форме. Вверху уже знакомая строка текущих значений характеристик персонажа. А вот дальше…Увидели новую вещичку, или даже две? Обнаружили в сумке после гринда мобов пару башмаков и задумались о полезности такой находки или ее продаже другому игроку? Вперед и с песней! В «Выборе элементов» ищем общее название элемента, в поле «Примечание» указываем местоположение обнаруженной вещицы (дабы бегая по локациям и просматривая магазинчики НПС не забыть у какого именно барыги вы видели те самые серьги). Затем вбиваем в уже знакомые по предыдущей форме клеточки характеристики вещички и жмем «Добавить в набор». Кстати, при наведении мышки на любой элемент в таблице, вы увидите всплывающую подсказку, записанную вами для него в поле «Примечание».
Если же после добавления новой вещи в таблицу вы вдруг обнаружили оЧепЯтку, можно, выделив любую ячейку в строке с ошибкой, нажать «Изменить запись». Произойдут сразу 2 вещи: элемент будет удален из таблицы, и он же появится в полях редактирования. Внеся необходимые изменения, снова жмем «Добавить в набор». Удаление ненужного элемента выполняется как и его изменение, с той лишь разницей, что при нажатии «Удалить тек. элемент» из таблицы он исчезнет, а в полях редактирования не появится.
После проделанных добавлений, удалений и изменений жизненно необходимо «Сохранить набор», дабы не было потом мучительно больно… J
А теперь, как говорится, гвоздь программы: самая большая на форме кнопка «РАССЧЕТ» !!! В результате получаем…хм, такой результат:
  
Первая строка – опять та самая сумма текущих характеристик персонажа, еще и выделенная цветом типа violet. В остальных строках – измененные значения этих характеристик в зависимости от вариантов сочетания текущих элементов обмундирования и новых, пока еще не купленных за кровные денежки одежек-сережек-амулетиков. Соответственно зеленым цветом выделены числа в случае увеличения значения данной характеристики, красным – уменьшения, а дефолтным черным – оставшееся без изменений. Кстати, красный цвет еще не значит, что эта величина неприемлема для вашего персонажа – просто она меньше, чем текущая.
При выделении ячейки в любой строке вы увидите, что именно послужило причиной таких изменений. В нашем примере, вариант 3 получится при попытке надеть пояс, купленный у канийского интенданта вместо того, который надет на персонаже в данный момент. Если же проанализировать полученные результаты, становится очевидно, что самый общий-лучший для всех результат будет достигнут при варианте №2 (на картинке этого не видно, но замечу, - это вариант покупки штанов на аукционе, взамен тех, которых на нас в данном примере вообще нету J ) При желании, варианты в этой таблице можно сортировать по макс/мин значениям, просто щелкая по заголовку столбца.
Но и этого мне показалось мало, и решил я добавить еще один вариант сортировки. Ведь, если задуматься, в игре участвует не один класс персонажей. Для каждого из них важны лишь определенные характеристики, а на остальные можно вообще забить …с высокой колокольни.
Для этого и придуманы чекбоксы над каждой характеристикой в таблице и столбец «Сумма». Как это работает? Смотрим на примере.
Допустим, для сферического персонажа в вакууме имеют первоочередное значение: Проворство, Разум, Воля, Дух и Точность. Отмечаем вышеуказанные чекбоксы, сортируем по убыванию столбец Сумма и получаем:
 
 
 
 Получаем, что для такого персонажа гораздо интереснее выглядит вариант №4 – если пояс он купит у канийца и штаны на аукционе…
Да, прошу заметить, что я не ставил перед собой задачу по определению идеального варианта. Каждый игрок прокачивает уникального персонажа и индивидуально для себя решает о важности той или иной характеристики.
Теперь еще немного слов о функционировании Калькулятора.
Перемещения от 1-й формы к 3-й осуществляется при помощи кнопок «Перейти к обновкам» -> «Расчет» (если эти кнопки не активны – вы забыли сохранить или отменить изменения). В обратную сторону - при помощи кнопки «Назад» или закрытии текущей формы. При закрытии начальной формы (и только в этом случае) происходит закрытие самой программы.
Для сохранения и загрузки введенных данных я использую 2 текстовых файла, расположенных в одной папке с самой программой. Физическое отсутствие любого из них приводит к неработоспособности Калькулятора. Данные выгружаются в формы при нажатии кнопок загрузки и не изменяются внутри вышеуказанных текстовых файлов до тех пор, пока не будет нажата кнопка сохранения. Отменить изменения в 1-й и 2-й формах можно просто нажав на загрузку. В случае же, если изменения были сохранены, отката к предыдущим значениям пока не предусмотрено. И еще: с увеличением кол-ва новых шмоток для перебора во 2-й форме, кол-во вариантов в результирующей таблице увеличивается в геометрической прогрессии J (пример: при 3-х новых – 8 вариантов, при 5-ти – 24 и т.д.). Правда, от меня тут уже ничего не зависит – все вопросы к науке математика.
Стоит иметь в виду, что в данный момент Калькулятор работает только для одного персонажа, соответственно, если персонажей у вас несколько, для каждого из них необходимо сохранять exe-шник и идущие с ним файлы в отдельной папке. В будущем, если калькулятор действительно окажется полезным, я постараюсь довести его до ума, включив в него возможность загрузки и сохранения данных для неограниченного кол-ва персонажей и, возможно, дополнительных методов сортировки полученных результатов с последующим экспортом в Excel или Word для последующей обработки.
Данное приложение распространяется совершенно свободно, без каких бы то ни было ограничений. Для более продвинутых программистов, буде у них возникнет желание покопаться в коде – программа написана на Visual Basic 2008.
Все пожелания или замечания (и даже поощрения :) ) можно оставлять мне в личке – testeron (на оффсайте аллодов), или же, обнаружив меня на Горне войны под никами Шериф (Лига-друль-каниец) или Ородруин (Лига-Сталкер-каниец).

Ссылки на закачку:
files.mail.ru/X2WWN5
narod.ru/disk/18844979000/Calc.rar.html
 
Нравится4
Комментарии
    B
    i
    u
    Спойлер