Skip to content

Commit

Permalink
fix: fix 'mjai_target()'
Browse files Browse the repository at this point in the history
  • Loading branch information
paithiov909 committed Nov 18, 2024
1 parent 5fa05c5 commit 166e92b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 11 deletions.
7 changes: 5 additions & 2 deletions R/mjai.R
Original file line number Diff line number Diff line change
Expand Up @@ -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)])
Expand Down
4 changes: 2 additions & 2 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ paifu <-
paste0(pai, "_"),
pai
),
# # リーチ宣言牌なら末尾に"*"を付ける
# リーチ宣言牌なら末尾に"*"を付ける
pai = dplyr::if_else(
dplyr::lag(type, default = "") == "reach",
paste0(pai, "*"),
Expand All @@ -194,7 +194,7 @@ paifu <-
paifu
```

`proceed()`を使うと、ゲームのある時点におけるプレイヤーの手牌の状態を再現することができます。この関数には、その時点までの各プレイヤーの配牌・ツモ・打牌をそれぞれlistとして与えます。チー・ポンと大明槓についてはツモの一部、暗槓と加槓については打牌の一部とします。
`proceed()`を使うと、ゲームのある時点におけるプレイヤーの手牌の状態を再現することができます。この関数には、各プレイヤーの配牌とその時点までのツモ・打牌をそれぞれlistとして与えます。チー・ポンと大明槓についてはツモの一部、暗槓と加槓については打牌の一部とします。

たとえば、ここで読み込んでいるデータについて、各本場の終わりの時点におけるプレイヤーの手牌を再現するには、次のようにします。

Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -310,7 +310,7 @@ paifu <-
paste0(pai, "_"),
pai
),
# # リーチ宣言牌なら末尾に"*"を付ける
# リーチ宣言牌なら末尾に"*"を付ける
pai = dplyr::if_else(
dplyr::lag(type, default = "") == "reach",
paste0(pai, "*"),
Expand All @@ -337,7 +337,7 @@ paifu
#> # ℹ 3 more variables: dora_marker <chr>, deltas <list>, ura_markers <list>
```

`proceed()`を使うと、ゲームのある時点におけるプレイヤーの手牌の状態を再現することができます。この関数には、その時点までの各プレイヤーの配牌・ツモ・打牌をそれぞれlistとして与えます。チー・ポンと大明槓についてはツモの一部、暗槓と加槓については打牌の一部とします。
`proceed()`を使うと、ゲームのある時点におけるプレイヤーの手牌の状態を再現することができます。この関数には、各プレイヤーの配牌とその時点までのツモ・打牌をそれぞれlistとして与えます。チー・ポンと大明槓についてはツモの一部、暗槓と加槓については打牌の一部とします。

たとえば、ここで読み込んでいるデータについて、各本場の終わりの時点におけるプレイヤーの手牌を再現するには、次のようにします。

Expand Down Expand Up @@ -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
```

Expand Down

0 comments on commit 166e92b

Please sign in to comment.