Generate Wordsearch and Crossword Puzzles

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!


R-CMD-check

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

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("worrrd")

0.1.0 by Anthony Pileggi, 4 years ago


https://www.stochastic-squirrel.com/worrrd/, https://github.com/anthonypileggi/worrrd


Report a bug at https://github.com/anthonypileggi/worrrd/issues


Browse source code at https://github.com/cran/worrrd


Authors: Anthony Pileggi [aut, cre, cph] , Shannon Pileggi [aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports ggplot2, dplyr, tibble, magrittr, stringr, purrr, yaml, glue, ggtext, ggfittext, cowplot

Suggests magick, emoji, rvest, english, knitr, rmarkdown


See at CRAN