Rでお遊び:ライツアウトで遊びませんか?「lightsout」パッケージ


ライツアウトは点灯したシンボルを全て消灯するパズルゲームです。中毒性がかなり高いです。没頭に注意です。

ライツアウトの概要
https://ja.wikipedia.org/wiki/%E3%83%A9%E3%82%A4%E3%83%84%E3%82%A2%E3%82%A6%E3%83%88

本パッケージではShinyによるブラウザでグラフィカルにゲームをするほか、Rのコンソールでこっそりゲームができます。解析してるふりをしてゲームをすることができますが、ライツアウトは中毒性が高く時間があっという間に過ぎてしまうのでオススメしません。

ぜひ、休憩時間に試してみてください。

パッケージバージョンは0.1。実行コマンドはR version 3.2.2で確認しています。


パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("devtools")
devtools::install_github("daattali/lightsout")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library(lightsout)

#Shinyでゲーム:launchコマンド
launch()

#コンソールでゲーム
#ランダムでゲームを作成:random_boardコマンド
#ゲームサイズを指定:sizeオプション;3,5,7,9の指定が可能
random <- random_board(size = 3)
#表示
random
Lights Out 3x3 board
Game mode: classic

0 1 0
1 0 1
0 0 1

#ゲームの操作:playコマンド
#位置を指定;row,colオプション
play(board = random, row = 2, col = 2)
Lights Out 3x3 board
Game mode: classic

0 0 0
0 1 0
0 1 1

#オリジナルのボードを作成:new_boardコマンド
#データはマトリックスで指定
EntData <- matrix(nrow = 3, byrow = TRUE,
                  c(0, 1, 0, 1, 1, 1, 0, 1, 0))
OriginalBoard <- new_board(entries = EntData)
#表示
OriginalBoard
Lights Out 3x3 board
Game mode: classic

0 1 0
1 1 1
0 1 0

#中央を選択してゲームクリアー
play(board = OriginalBoard, row = 2, col = 2)
Good job, you won!
  
#ゲームの解答を取得:solve_boardコマンド
GetGoal <- solve_board(OriginalBoard)
#表示
GetGoal
0 0 0
0 1 0
0 0 0
#解答をゲームに適応
play(board = OriginalBoard, matrix = GetGoal)
Good job, you won!

少しでも、あなたのウェブや実験の解析が楽になりますように!!

Shinyでゲーム:launchコマンド例

lightsout


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

おすすめコンテンツ


スポンサードリンク