7章プログラム

この章では、R関数の実行によってプレイできる本物の動くスロットマシンを作ります。完成したら、次のようにしてプレイすることができます。

play()
## 0 0 DD
## $0

play()
## 7 7 7
## $80

play関数は、2つのことをしなければなりません。まず、3つのシンボルをランダムに生成しなければなりません。第二に、それらのシンボルをもとに賞金を計算しなければなりません。

第1のステップは簡単にシミュレートできます。sample関数を使えば、ランダムに3つのシンボルを生成することができます。これは、第Ⅰ部で2個のサイコロをランダムに「振った」のとよく似ています。次の関数は、ダイヤ(DD)、セブン(7)、トリプルバー(BBB)、ダブルバー(BB)、シングルバー(B)、チェリー(C)、ゼロ(0)というよく使われているスロットマシンシンボルのグループから3つのシンボルを生成します。シンボルはランダムに選択され、個々のシンボルが現れる確率はそれぞれ異なっています。

get_symbols <- function() {
  wheel <- c("DD", "7", "BBB", "BB", "B", "C", "0")
  sample(wheel, size = 3, replace = TRUE,
    prob = c(0.03, 0.03, 0.06, 0.1, 0.25, 0.01, 0.52))
}

get_symbolsを使えば、スロットマシンで使われるシンボルを生成できます。

get_symbols() ## "BBB" "0" "C" get_symbols() ## "0" "0" "0" get_symbols() ## "7" ...

Get RStudioではじめるRプログラミング入門 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.