Skip to content

Instantly share code, notes, and snippets.

@gaogao-9
Last active November 6, 2016 17:33
Show Gist options
  • Save gaogao-9/0fc26f17e48fa25dfdcf435b08c231ac to your computer and use it in GitHub Desktop.
Save gaogao-9/0fc26f17e48fa25dfdcf435b08c231ac to your computer and use it in GitHub Desktop.
http://seimani.php.xdomain.jp/deck.php で動かしているビルダーのURLパラメータ仕様

概要

データを64進数のURLセーフな文字列にエンコード。ビット単位での操作が必要。つらい。 使用文字は 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_ で64文字。

フォーマット

[バージョン情報(4bit)][シノブ好感度(13bit)][ナイカク好感度(13bit)][...[フラグN(2bit)][政霊NoN][好感度N(10bit)][...[レベルNM][コストダウンNM]]]

フラグ

  • 00: Nキャラ
  • 01: Rキャラ
  • 10: Exキャラ
  • 11: SRキャラ

政霊No

  • ゲーム内で使用されている4桁IDの下3桁
  • Nキャラの場合
    • 5bitで1~32を表現
  • R/Exキャラの場合
    • 8bitで1~256を表現
  • SRキャラの場合
    • 7bitで1~128を表現

好感度

  • サポートキャラの場合
    • 13bitで0~5000を表現
  • それ以外のキャラの場合
    • 10bitで0~700を表現

レベル

  • Nキャラの場合
    • 5bitで0~30を表現
  • N+キャラの場合
    • 6bitで0~40を表現
  • Rキャラの場合
    • 6bitで0~60を表現
  • Exキャラの場合
    • 7bitで0~75を表現
  • SRキャラの場合
    • 7bitで0~99を表現

コストダウン

  • N
    • 4bitで0~10を表現
  • R/Ex/SR(SSR除く)共通
    • 3bitで0~5を表現
  • SSRのみ
    • 2bitで0~3を表現

合計ビット数

  • バージョン情報/サポートキャラ
    • バージョン情報(4bit) + 好感度(13bit) * 2人 => 30bit
  • Nキャラ
    • フラグ(2bit) + 政霊No(5bit) + 好感度(10bit) + レベル(5bit)+コストダウン(4bit) + レベル(6bit)+コストダウン(4bit) => 36bit
  • Rキャラ
    • フラグ(2bit) + 政霊No(8bit) + 好感度(10bit) + 2*(レベル(6bit)+コストダウン(3bit)) + レベル(7bit)+コストダウン(3bit) => 48bit
  • Exキャラ
    • フラグ(2bit) + 政霊No(8bit) + 好感度(10bit) + レベル(7bit)+コストダウン(3bit) => 30bit
  • SRキャラ
    • フラグ(2bit) + 政霊No(7bit) + 好感度(10bit) + 2*(レベル(7bit)+コストダウン(3bit)) + レベル(7bit)+コストダウン(2bit) => 48bit

合計使用文字数

  • バージョン情報/ナイカク/シノブ
    • あわせて5文字
  • Nキャラ
    • 6文字
  • Rキャラ
    • 8文字
  • Exキャラ
    • 5文字
  • SRキャラ
    • 8文字

結論

450文字ぐらいで表現できるんじゃねーの

[
{
"id": 1001,
"name": "ナイカク",
"type": -1,
"likability": 100
},
{
"id": 1002,
"name": "シノブ・イチハシ",
"type": -1,
"likability": 1000
},
{
"id": 4001,
"name": "ヒラリィ・イトウ",
"type": 3,
"likability": 300,
"info": [
{
"lv": 1,
"cost": 1
},
{
"lv": 38,
"cost": 0
},
{
"lv": 0,
"cost": 0
}
]
},
{
"id": 7010,
"name": "マロン・サイトウ",
"type": 1,
"likability": 300,
"info": [
{
"lv": 50,
"cost": 5
},
{
"lv": 60,
"cost": 5
},
{
"lv": 50,
"cost": 5
}
]
},
{
"id": 7016,
"name": "マクシーン・ヤマダ",
"type": 2,
"likability": 100,
"info": [
{
"lv": 1,
"cost": 2
}
]
},
{
"id": 4032,
"name": "ビアトリス・シマヅ",
"type": 3,
"likability": 0,
"info": [
{
"lv": 0,
"cost": 0
},
{
"lv": 0,
"cost": 0
},
{
"lv": 0,
"cost": 0
}
]
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment