Description
Generate Wordsearch and Crossword Puzzles.
Description
Generate wordsearch and crossword puzzles using custom lists of words (and clues). Make them easy or hard, and print them to solve offline with paper and pencil!
README.md
worrrd
Overview
Build word games using R. Ya hearrrd?
Features:
- Crossword Puzzle
- Wordsearch
Installation
# install.packages("devtools")
devtools::install_github("anthonypileggi/worrrd")
Wordsearch
Create your very own custom wordsearch! Worrrd.
library(worrrd)
# Simple wordsearch
words <- c("alligator", "crocodile", "squirrel", "swordfish", "german shepherd", "panda", "wolf")
x <- wordsearch(words, r = 20, c = 20)
#> Found positions for 7/7 words.
plot(x, solution = TRUE)
You can make it as hard as you want. Go bananas!
# All 50 States
library(datasets)
x <- wordsearch(state.name, r = 50, c = 50)
#> Found positions for 50/50 words.
plot(x, solution = TRUE, puzzle_size = 2, legend_size = 2)
Puzzle Book
If you want to make a pdf book full of wordsearch puzzles that is easily printed, you can provide a .yml file.
my_book.yaml
title: I made a wordsearch!
author: Unicorn Cupcake
type: wordsearch
rows: 20
cols: 20
pages:
- name: Fruity Fun
words: [apple, orange, banana, grapes, kiwi, strawberry, watermelon, lemon, lime]
- name: Animal Mayhem
words: [dog, cat, fish, wolf, horse, shark, crocodile, alligator, iguana]
image: "https://us.123rf.com/450wm/miceking/miceking1506/miceking150601500/40903456-stock-vector-lion-silhouette.jpg"
- name: Searchin in the USA
words: "`state.name`"
Then you can generate a pdf puzzle book.
book(input_file = "my_book.yaml", output_file = "my_puzzle_book")
Crossword Puzzle
Oh, you’re one of the more sophisticated types that craves a crossword puzzle? Worrrd.
words <- row.names(state.x77)
clues <- paste0(state.region, " state covering ", scales::comma(state.x77[, "Area"]), " square miles.")
x <- crossword(words, clues, r = 40, c = 40)
#> Found positions for 50/50 words.
x
#> Crossword Puzzle
#> Contains 50 clues.
#> There are 25 across and 25 down.
plot(x)
plot(x, solution = TRUE)
Future Plans
- Allow crossword in the puzzle book
Known Issues
- Will not work with duplicate words.