Приветствую всех =)
Моя странная любовь к обмену карт (ну вот так, да, не к игре =D), привела к необходимости балансирования при обмене. Когда обмен происходит 1-2 картами - зайти на magiccards в общем-то не проблема. в целом не проблема и прицениться "на глазок". но иногда возникает ситуация, когда нужно сбалансировать одну стопочку картона вперемешку с другой стопочкой картона вперемешку, а раскидывать "комона-комона, унк-унк, рар-рар" не позволяет или сильный разброс цен или вообще неизвестность этих самых цен. (Для меня актуальненько =)))
В общем и пришла мне в голову идея замутить программку, которая бы помогала считать карты.
в общем пока получилась вот такая приблуда https://dropmefiles.com/Us5EV , сделанная на использовании скриптов на Lua сырая, но именно по этой причине я и пишу этот пост, с просьбой заинтересовавшихся слегка помочь с проработкой идеи проги.
Итак, что уже реализовано в программе:
Она таки считает цены "по magiccards". тот, в свою очередь, дергает цены с tcgplayer. Важное по ценам: на данный момент программа берет строго мидл-цену карт. Вопрос адекватности такого ценообразования поднимется ниже.
как оно работает: запускаем ехе-шник, в окне щелкаем "список карт", в открывшийся текстовый документ вбиваем карты в соответствии с синтаксисом запроса (про это несколько позже), сохраняем, жмем Запуск. через некоторое время программа обработает ваши карты, выдаст оповещение. Щелкаем на кнопке "выходной файл", в браузере откроется окошко с информацией по запросу.
Теперь поточнее о частностях.
Синтаксис поискового запроса:
- т.к. карта ищет через сервис magiccards, то работает неполный поиск. Например "исполин щеп" выдаст вам конкретную карту. Удобно в том плане, что можно не париться вводом полных наименований.
- язык карты не принципиален. Можете вводить название на русском, можете на английском, программа приведет данные "к общему знаменателю" на выходе.
- Если мы имеем несколько карт одного названия, например 2-3-4-5-99, то после названия карты можно добавить *Х, с указанием числа карт. Программа это учтет и просчитает.
- Работает поиск по фойл-картам. Тут информация берется непосредственно с tcgplayer. для того, чтобы найти цену на фойлу - нужно после названия добавить (f) или (foil). У этой функции есть баг, сайт tcgplayer не дает делать более 5 запросов подряд, поэтому функция будет дорабатываться. Надеюсь что таки доработается =)
- Если необходимо найти карту короткого названия, например "Шок", то перед названием добавляем !, без пробела. "!Шок". Но название надо писать полностью и правильно, вариант "!насил", к примеру, не найдет ничего. как и вариант "!виндета"
- В целом работает весь синтаксис с http://magiccards.info/syntax.html , другое дело что применять его пока смысла нету. Разве что для карт, для которых цена сильно зависит от издания. Например "Nicol Bolas e:fvd" или "Nicol Bolas e:tsts" .
Выходной файл:
на данный момент выходной файл содержит адекватную информацию на стартовой вкладке (краткая таблица) и вкладке "Картинки". Остальные вкладки не доработаны.
На вкладке краткой таблицы можно посмотреть найденные цены, общую цену и среднюю цену на карты. Цены указаны в $, по какому курсу потом работать - решать уже вам =). в случае, если карта не найдена (ошибка в написании карты, ошибка поиска цены, недостаточно точное название, в результате чего нашлось несколько карт), то ошибка будет выдана в окне программы и в выходном файле.
На вкладке "картинки" отображается более "графически понятно" результаты поиска. Вкладка лишена каких-либо конкретных данных, кроме цены и картинки карты. Потенциально вкладка планируется для "хранения" базы карты или обменника.
Пс. а я предупреждал, что программа сырая =)))
Теперь к вопросу о том, что планируется сделать:
1) Вкладка "полная таблица". (на данный момент там уже что-то есть, но мало). Полная информация о карте. тип, манакост, конвертированный манакост, редкость, описание, художественный текст, ссылки на карту, дополнения по правилам по карте, легальность в разных форматах, разные издания и цены по этим изданиям. В общем максимально подробная информация, основная направленность - использование в формировании "базы" по картам.
2) Вкладка "картинки и текст". совмещение полной таблицы и картинок, аналогично подобному же режиму на magiccards. Результативность и необходимость пока под вопросом.
3) Вкладка "декменеджер". Вкладка добавлена чисто по причине того, что декменеджеры на русском - это вымершие динозавры, а хочется. (Ну я-то, допустим, понимаю английский. Но я - не все =) да и не шибко это комфортно). Пока думаю, в общем стандартные функции декменеджера, разбивка по типам и манакосту итп...
4) сортировка, упорядочивание, поиск и прочие прелести управления списком. Думаю тут понятно все =)
5) Ценообразование. возможность управления искомыми ценами. лоу-мидл-хай или жестко заданные при каких-либо условиях.
6) "автономный режим". Возможность программы "закачать" базу данных по картам, а затем работать уже с этой базой. Удобно для тех, у кого нет постоянного доступа к интернету.
7) формирование "выходного" файла "одним куском". Сейчас выходной файл - это хтмл, а картинки пихаются в папку images, и если выходной файл перетащить-отправить, то 3 вкладка потеряет свой функционал.
8) оптимизация работы программы. Уменьшение задержек, удаление багов, оптимизация работы с большими объемами карт и так далее. =)
Теперь, собственно, к чему я все это писал =))) Программа будет дорабатываться в любом случае, т.к. пишу я ее скорее "потому что хочется", но мне интересно, что бы вы предпочли добавить-поменять-исправить в работе программы? принимаются и рассматриваются любые предложения =)