セガNET麻雀MJのリプレイURLを解析
MJのリプレイURLについて
MJのリプレイはURLを基にHTML/CSS/jsを使用して再現しているだけでした。リプレイ例
サーバに動画などのデータは保存されていないようなので、サーバ上に大量のデータを保存することなく、多くのリプレイを見ることが可能となっています。
今回はそのリプレイURLに書いてある情報を解析していきたいと思います。
解析が出来たら、複数のURLから様々な統計情報を作成することができると思っています。
pythonで解析するプログラムを開発中github
注意
すべての解析はまだできていません。
3麻の場合の解析は行っていません。
パラメータ一覧
基本
url上の牌の置換
1: "萬子1"
2: "萬子2"
3: "萬子3"
4: "萬子4"
5: "萬子5"
6: "萬子6"
7: "萬子7"
8: "萬子8"
9: "萬子9"
0: "萬子5赤"
a: "索子1"
b: "索子2"
c: "索子3"
d: "索子4"
e: "索子5"
f: "索子6"
g: "索子7"
h: "索子8"
i: "索子9"
"-": "索子5赤"
j: "筒子1"
k: "筒子2"
l: "筒子3"
m: "筒子4"
n: "筒子5"
o: "筒子6"
p: "筒子7"
q: "筒子8"
r: "筒子9"
s: "筒子5赤"
t: "東"
u: "南"
v: "西"
w: "北"
x: "白"
y: "發"
z: "中"
プレイヤー番号
0: "下"
1: "右"
2: "上"
3: "左"
B (場の情報)
1: "萬子1"
2: "萬子2"
3: "萬子3"
4: "萬子4"
5: "萬子5"
6: "萬子6"
7: "萬子7"
8: "萬子8"
9: "萬子9"
0: "萬子5赤"
a: "索子1"
b: "索子2"
c: "索子3"
d: "索子4"
e: "索子5"
f: "索子6"
g: "索子7"
h: "索子8"
i: "索子9"
"-": "索子5赤"
j: "筒子1"
k: "筒子2"
l: "筒子3"
m: "筒子4"
n: "筒子5"
o: "筒子6"
p: "筒子7"
q: "筒子8"
r: "筒子9"
s: "筒子5赤"
t: "東"
u: "南"
v: "西"
w: "北"
x: "白"
y: "發"
z: "中"
0: "下"
1: "右"
2: "上"
3: "左"
4桁の数字に4種の情報が含まれています
それぞれの情報の数値が入力されている
1桁目 局数
0: "東一局"
1: "東二局"
2: "東三局"
3: "東四局"
4: "南一局"
5: "南二局"
6: "南三局"
7: "南四局"
2桁目 本場数
0: "0本場"
1: "1本場"
2: "2本場"
3: "3本場"
...etc
3桁目 供託数
0: "0本"
1: "1本"
2: "2本"
3: "3本"
...etc
4桁目 親の開始位置
プレイヤー番号(0~3)を参照
1232
の場合
K (未解析)
風に関する物?だと思われる
V (未解析)
バージョンに関する物?だと思われる
DI (未解析)
台のデザインやルールなどに関する物?だと思われる
T (点数)
プレイヤーの位置が下_右_上_左
の順に_
区切りで百分の一の点数
下記の場合、下が23000点、右が24000点、上が26000点、左が27000点
230_240_260_270
SA (未解析)
三麻の時に使用する何か
一桁目は3麻の時に空席の部分のプレイヤー番号
D (初期ドラ牌)
初期時のドラ牌を一文字に置き換えたもの
S (サイコロ)
二つサイコロの目
11: 1の目二つ
23: 2と3の目
45: 4と5の目
66: 6の目二つ
H (配牌)
プレイヤーの位置が下_右_上_左
の順に_
区切りし、
各プレイヤーの各牌を一文字に置き換えたもの
1112345678999_aaabvdefghiii_jjjklmnopqrrr_ttuuvvwwxxyyz
A (アクション、一連の流れ)
親の最初のツモ牌から最後までの行動が記入されている
大文字はそのまま入力
小文字は指示した内容に置き換え
牌はすべて一文字に置き換えたもの
"_": ツモ切り
一文字前の牌をツモ切り
"Rx": 立直
x: 立直時に捨てた牌
"Cyyx": チー
yy:チーに使った2つの牌
x:捨てた牌
"Px": ポン
x:ポンしたプレイヤー番号(0~3)
"KwDyLz": 加槓
w:カンした牌
y:めくったドラ牌
z:リンシャン牌
"AwDyLz": 暗槓
w:カンした牌
y:めくったドラ牌
z:リンシャン牌
"MxDyLz": 明槓
x:カンしたプレイヤー番号(0~3)
y:めくったドラ牌
z:リンシャン牌
"~xyUzUz": ツモ,ロン
x:ロンしたプレイヤー番号(0~3)
y:上がり時の手配の枚数 16進数(1~e), ロンした牌は含めない、鳴いた牌は含めない
z:裏ドラ牌 ロンなどで必要ない場合はセットで書かない 枚数分だけUとセットで増やす
".1Tyyyy": 流局
数字の意味は不明
yに自分から順番(下右上左)にテンパイ1
ノーテン0
例
12a_kRjCklz~1d
※東がプレイヤー番号0とする
上記の場合
東:1(萬子1) 萬子1を引く
東:2(萬子2) 萬子2を捨てる
南:a(索子1) 索子1を引く
南:_(ツモ切り) 索子1をツモ切り
西:k(筒子2) 筒子2を引く
西:R(リーチ) リーチする
西:j(筒子1) 筒子1を捨てる
北:Ckl(チー,筒子2,筒子3) 筒子1(西の捨て牌)を筒子2,筒子3(手牌)でチーする
北:z(中) 中を捨てる
南:~1d(ロン,右,13枚) 南が手牌13枚でロン
Y (未解析)
上がり時の点数や役に関する物だと思われる
Z (使用されなかった山牌)
ゲーム終了時に使用されなかった山牌(ドラ、裏ドラ等も含める)
各牌は一文字に置き換えたもの
順番はドラ牌が後の方になるようにする
N (各プレイヤー名)
プレイヤーの位置が下_右_上_左
の順に_
区切りし、
各プレイヤーの名前を記入したもの
下プレイヤー_右プレイヤー_上プレイヤー_左プレイヤー
Author And Source
この問題について(セガNET麻雀MJのリプレイURLを解析), 我々は、より多くの情報をここで見つけました https://qiita.com/_syado_/items/4daad99e879fd693ad54著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .