diff --git a/R/mjai.R b/R/mjai.R index f3e70ec..9f2c267 100644 --- a/R/mjai.R +++ b/R/mjai.R @@ -41,10 +41,13 @@ mjai_target <- function(perspective, target) { target[is.na(target)] <- perspective[is.na(target)] purrr::map2_chr(perspective, target, function(p, t) { - shifted <- c(0:3 + p) %% 4 + shifted <- (0:3 + p) %% 4 + # the player sitting at the East at E1 is 0, + # and his shimocha (right) will be 1, + # toimen (across) will be 2, kamicha (left) will be 3. mapping <- rlang::set_names( - rep(c(NA_character_, "+", "=", "-")), + c(NA_character_, "-", "=", "+"), as.character(shifted) ) unname(mapping[as.character(t)]) diff --git a/README.Rmd b/README.Rmd index 501ef3b..68c9af3 100644 --- a/README.Rmd +++ b/README.Rmd @@ -182,7 +182,7 @@ paifu <- paste0(pai, "_"), pai ), - # # リーチ宣言牌なら末尾に"*"を付ける + # リーチ宣言牌なら末尾に"*"を付ける pai = dplyr::if_else( dplyr::lag(type, default = "") == "reach", paste0(pai, "*"), @@ -194,7 +194,7 @@ paifu <- paifu ``` -`proceed()`を使うと、ゲームのある時点におけるプレイヤーの手牌の状態を再現することができます。この関数には、その時点までの各プレイヤーの配牌・ツモ・打牌をそれぞれlistとして与えます。チー・ポンと大明槓についてはツモの一部、暗槓と加槓については打牌の一部とします。 +`proceed()`を使うと、ゲームのある時点におけるプレイヤーの手牌の状態を再現することができます。この関数には、各プレイヤーの配牌とその時点までのツモ・打牌をそれぞれlistとして与えます。チー・ポンと大明槓についてはツモの一部、暗槓と加槓については打牌の一部とします。 たとえば、ここで読み込んでいるデータについて、各本場の終わりの時点におけるプレイヤーの手牌を再現するには、次のようにします。 diff --git a/README.md b/README.md index 03cf91f..2fe4ea2 100644 --- a/README.md +++ b/README.md @@ -310,7 +310,7 @@ paifu <- paste0(pai, "_"), pai ), - # # リーチ宣言牌なら末尾に"*"を付ける + # リーチ宣言牌なら末尾に"*"を付ける pai = dplyr::if_else( dplyr::lag(type, default = "") == "reach", paste0(pai, "*"), @@ -337,7 +337,7 @@ paifu #> # ℹ 3 more variables: dora_marker , deltas , ura_markers ``` -`proceed()`を使うと、ゲームのある時点におけるプレイヤーの手牌の状態を再現することができます。この関数には、その時点までの各プレイヤーの配牌・ツモ・打牌をそれぞれlistとして与えます。チー・ポンと大明槓についてはツモの一部、暗槓と加槓については打牌の一部とします。 +`proceed()`を使うと、ゲームのある時点におけるプレイヤーの手牌の状態を再現することができます。この関数には、各プレイヤーの配牌とその時点までのツモ・打牌をそれぞれlistとして与えます。チー・ポンと大明槓についてはツモの一部、暗槓と加槓については打牌の一部とします。 たとえば、ここで読み込んでいるデータについて、各本場の終わりの時点におけるプレイヤーの手牌を再現するには、次のようにします。 @@ -383,13 +383,13 @@ paifu |> #> 1 1 1 0 <13>'m34677p33405s123' #> 2 1 1 1 <13>'m12227999z13336' #> 3 1 1 2 <13>'m05567s40z111,m333=' -#> 4 1 1 3 <14>'m56688p3377s4,s666+6' +#> 4 1 1 3 <14>'m56688p3377s4,s666-6' #> 5 2 1 0 <13>'m2255p345567s567' -#> 6 2 1 1 <13>'m3p222,z777=,s222=,z111+' -#> 7 2 1 2 <13>'m24777789z55,m666+' -#> 8 2 1 3 <14>'m3445688s406m2,z222-' +#> 6 2 1 1 <13>'m3p222,z777=,s222=,z111-' +#> 7 2 1 2 <13>'m24777789z55,m666-' +#> 8 2 1 3 <14>'m3445688s406m2,z222+' #> 9 3 1 0 <13>'m34p8s23466z11,m67-8' -#> 10 3 1 1 <13>'m88p456s06789,z555+' +#> 10 3 1 1 <13>'m88p456s06789,z555-' #> # ℹ 120 more rows ```