Learn R Programming

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

Copy Link

Version

Install

install.packages('worrrd')

Monthly Downloads

161

Version

0.1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Anthony Pileggi

Last Published

October 25th, 2022

Functions in worrrd (0.1.0)

printable

Prepare a worrrd object for printing
print.wordsearch

Print details for a wordsearch puzzle
prepare_words

Prepare a word(s)
print.crossword

Print a crossword puzzle
word_overlap

Compute overlap score for a vector of words
word_intersections

Get possible intersection points based on the current board and a provided word
is_wordsearch

Check if an object is of the `wordsearch` class
image_matrix

Convert an image to a 0/1 matrix
is_crossword

Check if an object is of the `crossword` class
crossword

Create a crossword puzzle
add_word

Add a word to a word matrix
as_crossword

Assign an object to the `crossword` class
make_logo

Make the 'worrrd' logo
max_word_size

Compute maximum word size, based on the current word matrix
as_wordsearch

Assign an object to the `wordsearch` class
book

Create a puzzle book
wordsearch

Create a wordsearch puzzle
plot.wordsearch

Draw a wordsearch puzzle
plot.crossword

Plot a crossword puzzle