5文字の単語のアルファベットを推測するゲーム「wordle」をRのコンソールで遊ぶことができるパッケージの紹介です。「wordle」は最大で6回の実行で、アルファベットの入力のたびに出される「緑色はアルファベットと位置が正解」、「黄色はアルファベットが正解、位置が不正解」、「色なしはアルファベットと位置が不正解」のヒントから正解の単語を推測するゲームです。
紹介では「wordle」の開始コマンドとpokemon GOが楽しいのでポケモンWiki「http://wiki.xn--rckteqa2e.com/」からポケモン名を取得して英語のポケモン名のwordleゲームを実行するコマンドを紹介します。
なお、コマンド例内でも記載していますが、5文字以上のポケモン名は先頭5文字を切り出し、5文字未満は「X」を追加して5文字の長さに調整しています。そのため、ポケモン名が一部重複しています。
パッケージのバージョンは0.3.1。実行コマンドはwindows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("wordler")
実行コマンド
詳細はコメント、パッケージヘルプを確認してください。
#パッケージの読み込み
library("wordler")
#Wordleの開始:play_wordlerコマンド
#単語を最大で6回で推測する
#緑色はアルファベットと位置が正解
#黄色はアルファベットが正解,位置が不正解
#色なしはアルファベットと位置が不正解
play_wordler()
##############################
###参考:ポケモンのwordleゲーム#####
#データの作成
#rvestパッケージがなければインストール
#htmlやxmlデータの編集に便利です
if(!require("rvest", quietly = TRUE)){
install.packages("rvest");require("rvest")
}
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
#文字化け防止のおまじない
Sys.setlocale("LC_ALL", "English")
#ポケモンWikiからデータを取得
#http://wiki.xn--rckteqa2e.com/
Pokehtml <- read_html("https://wiki.xn--rckteqa2e.com/wiki/%E3%83%9D%E3%82%B1%E3%83%A2%E3%83%B3%E3%81%AE%E5%A4%96%E5%9B%BD%E8%AA%9E%E5%90%8D%E4%B8%80%E8%A6%A7")
#取得データの加工
Pokehtml %>%
#tableノードを抽出
html_nodes("table") %>%
#tableノードのテーブル化
html_table() %>%
#全データを結合
bind_rows() %>%
#列名を変更
rename(!!!setNames(names(.), c("No", "Japanese", "English", "German",
"French", "Korean", "Chinese (Simplified)",
"Chinese (Traditional)"))) %>%
#Englishの先頭小文字で切り出し
mutate(Judge = str_trunc(English, width = 5,
side = "right", ellipsis = "")) %>%
#Judgeで5文字以下を末尾に空白を足して5文字にする
mutate(Judge = str_pad(Judge, width = 5, pad = "X", side = "right")) %>%
###おまけ#####
#Englishで文字数が5をTRUE
#mutate(Judge = ifelse(str_length(English) == 5,
# TRUE, FALSE)) %>%
#JudgデータのTRUEを抽出
#filter(Judge == TRUE) %>%
#####
#Judgeデータの大文字化
mutate(Judge = str_to_upper(Judge)) -> PokeDATA
#ポケモン_wordleの開始
play_wordler(target_words = PokeDATA[["Judge"]],
allowed_words = PokeDATA[["Judge"]])
出力例
・ポケモン_wordleの例

少しでも、あなたの解析が楽になりますように!!