2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

セガNET麻雀MJのリプレイURLを解析

Last updated at Posted at 2019-12-29

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 (場の情報)

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の場合

image.png

K (未解析)

風に関する物?だと思われる

V (未解析)

バージョンに関する物?だと思われる

DI (未解析)

台のデザインやルールなどに関する物?だと思われる

T (点数)

プレイヤーの位置が下_右_上_左の順に_区切りで百分の一の点数
下記の場合、下が23000点、右が24000点、上が26000点、左が27000点

230_240_260_270

image.png

SA (未解析)

三麻の時に使用する何か
一桁目は3麻の時に空席の部分のプレイヤー番号

D (初期ドラ牌)

初期時のドラ牌を一文字に置き換えたもの

S (サイコロ)

二つサイコロの目

11: 1の目二つ
23: 2と3の目
45: 4と5の目
66: 6の目二つ

H (配牌)

プレイヤーの位置が下_右_上_左の順に_区切りし、
各プレイヤーの各牌を一文字に置き換えたもの

1112345678999_aaabvdefghiii_jjjklmnopqrrr_ttuuvvwwxxyyz

上記の場合
image.png

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 (各プレイヤー名)

プレイヤーの位置が下_右_上_左の順に_区切りし、
各プレイヤーの名前を記入したもの

下プレイヤー_右プレイヤー_上プレイヤー_左プレイヤー

image.png

2
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?