teplofizik
Кто-то любит пирожки, а кто-то - нет.
В версии r155, коя сейчас последняя, кроме возможности вывода заинтересовавших рук и дискардов (ну не знаю пока зачем, но потом погляжу, вдруг что найду интересное), появился и турнирный режим — в найденных играх можно для каждого попавшегося в реплее игрока построить таблицу результатов: среднее место за все игры, общее количество очков, результат с умой, список мест и типа того. Ессно, поля для вывода настраиваемые и есть возможность отсортировать по главным полям в любом порядке (по возрастанию или наоборот). Также можно настроить минимальный порог по количеству игр, кое необходимо для попадания в таблицу (например, не менее трёх).

На вход программе нужен только список реплеев, ну и параметры для построения таблицы. В итоге получаем текстовый файлик такого плана:


Который легко, впрочем, в экселе иди ещё где превращается в табличку:


Чуть подробнее о настройке:
1. Имеем файл со списком реплеев, который я взял из группы А оной таблицы:

Называется, допустим, tournier.txt.
Это могут быть только ссылки, или лог из клиента, могут там быть и комментарии — всё левое игнорируется. Единственные требования — одна ссылка на строку и чтобы ссылка была представлена целиком.

2. Команда для обработки:
TenhouViewer -dtournier.txt -ptournier.txt -ftournier.txt -t index nickname placelist place acq loss points mingames=3 sortdesc=points sort=place -soutput/tournier_result.txt
2.1. -dtournier.txt — скачивание реплеев с сервера тенхочки;
2.2. -ptournier.txt — подготовка их для обработки;
2.3. -ftournier.txt — выборка реплеев из файла с предварительной фильтрацией (если указаны какие-то параметры), например, можно выбрать только реплеи из определённых лобби, только с акадорами или наоборот, с куитаном и нет, и т.д. В данном случае никакой фильтрации не надо, потому кроме имени файла ничего не указывается сверх того.
2.4. -t index nickname placelist place acq loss points mingames=3 sortdesc=points sort=place — обработка реплеев: сортировка сначала по очкам (sortdesc=points), а потом по среднему месту (sort=place), в таблицу попадают только игроки, сыгравшие не менее трёх игр (mingames=3). В таблице будут указаны поля: условный номер игрока (index), ник (nickname), занятые места (placelist), среднее место (place), общее количество полученных очков (acq), общее число потерянных очков (loss) и сумма без учёта умы (points) в указанном порядке. Опции фильтрации и обработки можно указывать где угодно относительно полей вывода — они всё равно все применяются до обработки. Порядок важен лишь при нескольких сортировках подряд — тогда первыми должны идти второстепенные поля, в конце — основные. Ну и порядок полей задаёт положение столбцов в таблице. Флагам фильтрации вообще пофиг. Между собой флаги этих трёх типов не взаимодействуют и могут располагаться как душе угодно.

2.5. -soutput/tournier_result.txt — сохранение таблицы в файле output/tournier_result.txt;

После выполнения данной команды получим файл с таблицей, который был показан ранее.
В принципе, можно делать и более сложные таблицы — вся информация о играх доступна, была бы нужда.

Пример этот в архиве называется «sample 19. tournier.bat».


Скачать r162.
Скачать r175 (бонусом турнирные логи).

@темы: маджонг, tenhouviewer