バナナでもわかる話

計量経済学・統計学が専門の大学院生です。統計学・経済学・投資理論・マーケティング等々に関する勉強・解説ブログ。ときどき趣味も。極力数式は使わずイメージで説明出来るよう心掛けていますが、時々暴走します。

Rでミニゲームが出来る"fun"パッケージの解説~五目並べ,マインスイーパー,ライトアウトなど~

なんかRでマインスイーパーが出来ると聞いて、入れてみました!funパッケージ!

ジョークで作られたパッケージですね。実用性は恐らくほぼありませんが、出来ることを解説していきます。

まず、パッケージのインストールから

install.packages("fun")
library(fun)


スポンサーリンク



マインスイーパー(mine_sweeper)

まず、マインスイーパーが出来ます。

mine_sweeper(width=10,height=10,mines=20,text.cex=2,cheat=FALSE,seed=NULL)

出力はこんな感じ
f:id:bananarian:20181114011138p:plain

設定した通り10×10のマスが出てきました。よくあるマインスイーパーと同様、

右クリックで掘る
左クリックで旗をたてる

ことが出来ます。
f:id:bananarian:20181114011334p:plain

わーいクリア~笑

お察しの通りですが、minesで爆弾の数を変更できます。cheatはなにかというと、どうやらこのマインスイーパーは行列で表現されているらしく、cheat=TRUEとすると、背後の行列をカンニング出来ます。
f:id:bananarian:20181114011521p:plain

 -1が爆弾の入っている場所ですね。


ライトアウト(lights_out)

これはちょっとマイナーなゲームかもしれません。要は名前の通り、明るい場所を暗くして真っ暗(ライトアウト)にしてくださいというゲームです。とりあえず見てみましょう。

lights_out(width = 5, height = 5, steps = 3, cheat = FALSE,
col.off = "black", col.on = "white", col.frame = "lightblue",
seed = NULL)

f:id:bananarian:20181114012958p:plain

要はポチポチして白いマスを消してねってやつです。クリックしたマスに隣り合うマスも一緒に色が変わります。

stepsで最短経路を弄ることが出来るので、stepsを大きくすれば難易度が上がります。

クリアするとこんな感じ
f:id:bananarian:20181114013137p:plain

コンソールにyou win!の文字が!

五目並べ(gomoku)

gomoku(n = 19)

二人で五目並べが遊べます!
f:id:bananarian:20181114013334p:plain

これについてはジャッジするプログラムが無いので(2018年11月14日時点)、自分たちで判断するみたいです。

#The players should judge the winner by themselves; this function does not do this job (patches are
welcome, of course).

公式より(https://cran.rstudio.com/web/packages/fun/fun.pdf)


その他機能

ハノイの塔シミュレーション
tower_of_hanoi(n = 7)

ハノイの塔の最短クリアの手順をアニメーションでシミュレートしてくれます。
こんな感じのやつがアニメーションで動き、、、
f:id:bananarian:20181114013957p:plain

最終的に完成します。
f:id:bananarian:20181114014019p:plain

ランダムパスワードの作成
random_password(length = 12, replace = FALSE, extended = TRUE)

ランダムでパスワードを生成してくれます!

シャットダウン
shutdown(wait = 0)

waitで設定した時間だけ待って、OSがシャットダウンします。ジョークコードですけど、これは意外と使いどころ次第では便利かも?(使ったことないけどw)



その他説明しませんが、データセットも入っているようです。


まさかこんなパッケージがあったとは!
面白かったので紹介してみました~!