# A tibble: 200 × 8
player turn spin start_tile end_tile start_cash end_cash cash_diff
<fct> <int> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 1 4 NaN NaN NaN NaN NaN
2 1 2 5 NaN NaN NaN NaN NaN
3 1 3 2 NaN NaN NaN NaN NaN
4 1 4 4 NaN NaN NaN NaN NaN
5 1 5 10 NaN NaN NaN NaN NaN
6 1 6 9 NaN NaN NaN NaN NaN
7 1 7 1 NaN NaN NaN NaN NaN
8 1 8 9 NaN NaN NaN NaN NaN
9 1 9 2 NaN NaN NaN NaN NaN
10 1 10 8 NaN NaN NaN NaN NaN
# ℹ 190 more rows
Simulate one turn by one player.
take_turn <-function(.game, .player, .turn) {# Get temporary shortcut object to modify during this turn game_row_num <-which(.game$turn == .turn & .game$player == .player) this_turn <-slice(.game, game_row_num)# Use prev turn to get start tile and cash.if (.turn ==1) { this_turn$start_tile <-27 this_turn$start_cash <-10000 } else { prev_turn <-slice(.game, which(.game$turn == .turn-1& .game$player == .player)) this_turn$start_tile <- prev_turn$end_tile this_turn$start_cash <- prev_turn$end_cash }# Now advance by the spin amount. this_turn$end_tile <- this_turn$start_tile + this_turn$spin# Now overwrite the row in the original df with this temporary object. .game[.game$player == .player & .game$turn == .turn,] <- this_turnreturn(.game)}take_turn(game, "1", 1)
# A tibble: 200 × 8
player turn spin start_tile end_tile start_cash end_cash cash_diff
<fct> <int> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 1 4 27 31 10000 NaN NaN
2 1 2 5 NaN NaN NaN NaN NaN
3 1 3 2 NaN NaN NaN NaN NaN
4 1 4 4 NaN NaN NaN NaN NaN
5 1 5 10 NaN NaN NaN NaN NaN
6 1 6 9 NaN NaN NaN NaN NaN
7 1 7 1 NaN NaN NaN NaN NaN
8 1 8 9 NaN NaN NaN NaN NaN
9 1 9 2 NaN NaN NaN NaN NaN
10 1 10 8 NaN NaN NaN NaN NaN
# ℹ 190 more rows
# A tibble: 200 × 8
player turn spin start_tile end_tile start_cash end_cash cash_diff
<fct> <int> <int> <dbl> <dbl> <dbl> <dbl> <dbl>
1 1 1 2 27 29 10000 NaN NaN
2 1 2 10 29 39 NaN NaN NaN
3 1 3 3 39 42 NaN NaN NaN
4 1 4 10 42 52 NaN NaN NaN
5 1 5 5 52 57 NaN NaN NaN
6 1 6 2 57 59 NaN NaN NaN
7 1 7 7 59 66 NaN NaN NaN
8 1 8 10 66 76 NaN NaN NaN
9 1 9 4 76 80 NaN NaN NaN
10 1 10 9 80 89 NaN NaN NaN
# ℹ 190 more rows