• ↓
  • ↑
  • ⇑
 
Записи с темой: tenhou (список заголовков)
14:47 

TenhouViewer UI.

Кто-то любит пирожки, а кто-то - нет.
Потихоньку растёт четвёртое поколение программы-анализатора. В этот раз с интерфейсом, но пока мало что умеет по сравнению с консольной версией.

Пока что только построение типа турнирной таблицы (с поддержкой игроков замены, учитываемых отдельно, и бананов), вызова из оной просмотрщика реплеев (тенхоклиент) или пайфупостроителя. И для себя -- краткая статистика по последним играм для выбранного игрока, если загружается список игр своих. Импорт игр тоже из многих источников: из файла лога, из тенхоклиента, из папки с реплеями.
Прога ещё сырая, но постепенно матереет.



Это я к тому, что не зачахло правое дело, нужное мне одному =D

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

15:33 

Генерация стены на сервере Tenhou

Кто-то любит пирожки, а кто-то - нет.
Я знаю, есть люди, которые считают, что проплаченный клиент тенхочки может подкидывать ему нужные тайлики, обеспечивать замес стены и всякое такое. Да, бывает такие заходы противникам, что может прихватить багет — фига ж он лакер. Но это чисто везение. Если б не упустил своё место в прошлой раздаче, или б смог добиться смены мест — та рука пришла б и тебе. Но ему повезло больше.

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

Суть такова: сервер каким-то образом генерирует целую кучу случайных чисел, а именно 634 штуки. Каким образом — не знаю. Наверное, каким-то генератором случайных чисел. Этим массивом инициализируется следующий генератор случайных числе, который работает по алгоритму Mersenne Twist. Для каждого набора чисел будет получаться свой генератор, в котором порядок выпадения чисел не угадаешь. А наборов таких дохрена: 624 числа, каждое из которых меняется от 0 до четырёх с лишним миллионов.
Так вот, с помощью этого второго генератора они получают последовательно 288 чисел. Их шифруют с помощью криптографического алгоритма SHA512. Получают в результате 144 числа (и уже фиг подменишь хотя бы одно из них), которые назовём rnd.

читать дальше

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

13:16 

TenhouViewer. 3man

Кто-то любит пирожки, а кто-то - нет.
Добавил-таки поддержку Хиросимы, теперь там всё должно быть ок. Также не вылетает, если в логах нет информации о стене (древние логи от 2008 и типа того года), а если там информация в старом виде (не в base64, логи от 2011 года), то она генерирует стену обычным порядком. Ещё парочка каких-то багфиксов.

Так как поиграл на днях в не нулевом лобби c местными (ну, российскими) риичистами, добавил фильтрацию по номеру и типу лобби. Можно не париться, что левые игры исказят график рейтинга или статистику.
Но надо больше.

Теперь рейтинг получается так:
TenhouViewer -flog.txt nickname=dragonn lobby=0 -Gdragonn index datetime rating rank place -srating.txt

Скачать r99.

@темы: программизмы, маджонг, tenhouviewer, tenhou

01:54 

Пресвятые пирожки-пироженки, 4 дан!

Кто-то любит пирожки, а кто-то - нет.
00:34 

1000 игр на тенхе

Кто-то любит пирожки, а кто-то - нет.


С юбилейчиками. Играю не очень пока, но держусь =D

График

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

15:48 

TenhouViewer. Я не забыл

Кто-то любит пирожки, а кто-то - нет.
Проект пока не загибается и я его тихонько качаю. В следующих планах — поиграть в Хиросиму и адаптировать парсер и поисковик к ней. Ну и добавить фильтр на лобби/комнату (обычная, дановая и т.д.).

Пока что пофиксил счётчик дор и добавил фильтры на количество хан/фу в руке и поиск ничьих, причём даже особых (4 кана, кюсюкюхай, 4 риичи, тройной рон, нагаси, 4 ветра) с различением. А то вчера или позавчера была жесть, когда я на дилере был, без шансов собрать что-либо, а все остальные упоролись и стали канить каны =D Кто-то палку даже кинул. Хорошо что кто-то пожадничал или образумился и открыл последний кан, а то были бы вилы, особенно по цумо и для меня. Cтрёмно>< И вообще я думал, что их благоразумия на тенхочках более благоразумны.
Ужс.

Поиск по ничьим выглядит так:
TenhouViewer -flog.txt draw=kan4 -o link -sdrawkan4.txt
Он найдёт все ничьи из-за 4 канов. У меня таких всего одна штука. Кюсюкюхаев куда как больше.

Опции для draw могут быть такими:
yao9 — кюсюкюхай;
riichi4 — объявлено 4 риичи;
kaze4 — сброшено 4 одинаковых ветра подряд в первом круге раздачи;
ron3 — тройной рон;
kan4 — объявлено четыре кана за раздачу у разных игроков;
nm — нагаси манган.

Без указания опций ищутся просто ничьи обычные, не абортивные.

Поиск по ханам примерно тоже так:
TenhouViewer -flog.txt nickname=tfizik winner hanmin=12 hanmax=12 -o link nickname cost han fu waiting yaku -ssanbaiman.txt
Поиск моих санбайманов.

Скачать версию r88.

@темы: tenhou, tenhouviewer, маджонг, мии, программизмы

16:02 

TenhouViewer. Пайфу

Кто-то любит пирожки, а кто-то - нет.
Вообще, любую раздачу тенхочки можно записать в виде пайфу.

Например.

Отдельно откоцанная от раздачи рука:


Конечно, алгоритм генерации ещё имеет ряд недостатков и проблем (в частности, надо бы рисовать тайлы повёрнутые иначе, но пока для примера так, или даже иными спрайтами, свободными к использованию), но всё поправимо.

Канонные примеры надо искать в японских интернетах по слову «牌譜». Сравним, посмотрим...

UPD: Потестить r78
UPD: Потестить r79 с ч/б тайлами.

UPD от 12 мая 2014: А тенхочка тоже теперь умеет пайфу делать, нужно только в ссылке на реплей заменить /0/ на /6/.

@темы: программизмы, маджонг, tenhouviewer, tenhou, paifu

23:26 

TenhouViewer. Анонс =D

Кто-то любит пирожки, а кто-то - нет.
Итак, я таки переписал основную часть кода анализатора игр с тенхочки в более человеческий вид. Исходники лежат на гуглокоде: TenhouViewer.

Так как программа живёт ещё совсем немного, оконного интерфейса у неё нема, только консоль. Впрочем, пока что её достаточно.
Что же это за штука и как её пользоваться? Программа умеет по логу игр (который выдаёт и виндовый, и браузерный клиент) скачивать реплеи в папочку. Чтобы потом искать в них разные ситуации, ну и делать статистику, например, график рейтинга.

читать дальше

яку.txt — соответствие яку (и не яку) их номерам;
тайлы.txt — соответствие тайлов их номерам;

Программ r59. Требует .NET Framework 4.
Программа r60.

@темы: программизмы, маджонг, tenhouviewer, tenhou

14:55 

Логи высших дановых лобби тенхо

Кто-то любит пирожки, а кто-то - нет.
О, я-таки нашёл, где приведены логи мегаигроков из Феникс-лобби (и, возможно, высшего данового). Пример части списка сегодняшних игр.

Для всех игр (из всех лобби) там есть результаты. Но ссылки на логи есть только для этого лобби. См. список игр, название файла которых начинается на scc и заканчивается на .html. Сам файл открывается по нажатию на кнопочку "表示". Может, конечно, это общеизвестный факт, но я не знал >< Или тут в менее загромождённом виде и за больший срок.

Вообще, название файла говорит само за себя, начинается название с идентификатора:
sca - все частные лобби;
scb - общее и первое дановое лобби (L0000);
scc - высшие дановые лобби;
scd - ещё что-то.

Далее идёт дата и какой-то номер.
Например, scc2013021113: 13 лог за 11.02.2013 из высшего лобби (то ли Феникс, то ли нет).

Все игры из высших лобби есть и в этом файле: sccall.html. Смотреть не пересмотреть.

@темы: мии, маджонг, tenhou, няшодки

13:50 

Анализ реплеев tenhou

Кто-то любит пирожки, а кто-то - нет.
Нашёл программки по скачиванию файлов логов игр и, видимо, их просмотру и простому анализу на каком-то форуме.
LogGrabber; ReplayAnalyzer.

Надо тоже посмотреть, а то я хотел себе статистику кой-какую замутить, не вручную ж Оо

UPD: программы оные у меня так и не заработали, я не знаю, что ей надо в качестве исходных данных.
Зато наколхозил своё на C#, разбирает все раздачи: и открытые, и закрытые руки, умеет считать шантен и уке-ире (надеюсь, что правильно) и тоже может подсматривать всю стену, как и оф. клиент. Надо только научить её считать разные параметры.

UPD: tenhou_archive.rb — опенсорсный парсер логов тенхи. Ruby.
Ещё один парсер. C#, консоль. Есть расчёт шантен, определение ожиданий и т.д.
Код распаковки файлов mjlog, кои сидят в архивах типа mjlog_pf4-20_n1.zip. VB.NET. Тенхочка их сервером распаковывает и отдаёт уже вот так.

Ну и конвертировать ссылки на реплеи из закодированного вида в обычный (и обратно) она тоже умеет:
2012090306gm-0089-0000-x666f4d41e26b — закодированный, используется во флеш-клиенте.
2012090306gm-0089-0000-dc81a77a — декодированный, используется в клиенте виндовом.
Обе ссылки ведут на один и тот же реплей.

UPD1 от 06.02.2013: первый этап завершён. Формат файла лога исследован и поддаётся анализу. Задача: сделать удобное внутреннее представление лога, интерфейс просмотрщика.
UPD2 от 25.02.2013: определение ожиданий в темпае.
UPD3 от 30.10.2013: см. TenhouViewer (дневники, google code).

@темы: программизмы, мии, маджонг, tenhou

02:20 

Tenhou

Кто-то любит пирожки, а кто-то - нет.
Вчера, как я уже говорил, зарегился на тенхо. Что здорово — не надо долго ждать набора игроков на стол. Ввиду того, что их в Японии дохрена (да и не только в Японии), они всегда есть.

Сыграл раз десять всего. Там сидят крокодилы такие, что редко кого можно обыграть >< Только если повезёт. Но так даже интереснее.
Набрал 5級 (с 10го, которого нет), выиграв несколько раздач. Но это легко, дальше хуже. Два раза имел потенциал на якуман. Один раз имел темпай на дайсанген, а один раз сананко, но, объявив риичи, четвёртый закрытый пон (якуман сууанко) сделать не мог, так что мимо... Но всё равно, это как-то часто о.о
2-шантен на Кокуши, и собранный взакрытую чиницу на соу, из-за которого ушёл с третьего места и быстрой рукой в орасу победил, заняв первое место. Круто:3 Теперь 5級.

В общем, вот.

UPD от 29.12.2012: уже 3 кю, благо для добавления кю надо выиграть 2-3-4 игры (чем дальше, тем больше, а игра одна около 10-15 минут, в перерывах можно...)

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

Няшки-вкусняшки любят карандашики.

главная