noop(); pop(); map();

    wordpuzzle

    1.0.0 • Public • Published

    wordPuzzle

    Kind: global class

    new wordPuzzle()

    Create a words puzzle game

    wordPuzzle.wordList

    Kind: instance property of wordPuzzle

    Param Type Description
    wordList Array.<string> copy and sort the words by length, inserting words into the puzzle from longest to shortest works out the best

    wordPuzzle.placeWordInPuzzle(puzzle, opts, word) ⇒ boolean

    Adds the specified word to the puzzle by finding all of the possible locations where the word will fit and then randomly selecting one

    Kind: instance method of wordPuzzle Returns: boolean - true if the word was successfully placed, false otherwise

    Param Type Description
    puzzle Array.<Array> current state of the puzzle
    opts Object controls whether or not word overlap should be maximized
    word string word to fit into the puzzle

    wordPuzzle.newPuzzle([wordList], [options]) ⇒ Array.<Array>

    Kind: instance method of wordPuzzle

    Param Type Default
    [wordList] Array.<string> this.wordList
    [options] Object this.opts

    wordPuzzle.newPuzzleLax(opts)

    Wrapper around newPuzzle allowing to find a solution without some words

    Kind: instance method of wordPuzzle

    Param Type Description
    opts Object options to use for this puzzle

    wordPuzzle.solve(puzzle, words) ⇒ Array.<{x: number, y: number, orientation: string, word: string, overlap: number}>

    Returns the starting location and orientation of the specified words within the puzzle. Any words that are not found are returned in the notFound array

    Kind: instance method of wordPuzzle Access: public

    Param Type
    puzzle Array.<Array>
    words Array.<string>

    wordPuzzle.print(puzzle) ⇒ string

    Outputs a puzzle to the console, useful for debugging

    Kind: instance method of wordPuzzle Returns: string - formatted string representing the puzzle

    Param Type Description
    puzzle Array.<Array> current state of the puzzle

    wordPuzzle.drawPuzzle([domElem], [puzzle])

    Draws the puzzle by inserting rows of buttons into the DOM Element

    Kind: instance method of wordPuzzle

    Param Type Default
    [domElem] HTMLElement this.domElem
    [puzzle] Array.<Array> this.finalPuzzle

    wordPuzzle.setEventHandlers([domElem])

    Set the event handlers that will trigger the recognition of the words

    Kind: instance method of wordPuzzle

    Param Type Default
    [domElem] HTMLElement this.domElem

    wordPuzzle.wordPuzzle

    Kind: static class of wordPuzzle

    new wordPuzzle(words, domElem, [opts])

    Creates an instance of wordPuzzle.

    Param Type Default Description
    words Array.<string> list of words to include in the puzzle
    domElem HTMLElement HTML DOM Element that will contain the game
    [opts] Object {} game options
    [opts.lang] string define the letters set to use, depending on the words language, must be the ISO 639-1 language code, default: EN
    [opts.heigth] number desired height of the puzzle, default: smallest possible
    [opts.width] number desired width of the puzzle, default: smallest possible
    [opts.orientations] Array.<string> allOrientations list the authorized orientations in which the words can be formed, default: allOrientations
    [opts.fillBlanks] boolean true do the game must fill the spaces not used to form a word with random letters, default: true
    [opts.allowExtraBlanks] boolean true can the game add additional blanks, default: true
    [opts.maxAttempts] number 3 number of tries before increasing puzzle size, default: 3
    [opts.maxGridGrowth] number 10 number of puzzle grid increases, default: 10
    [opts.preferOverlap] boolean true maximize word overlap or not, default: true
    [opts.debug] boolean false wether or not to print the puzzle to the console, default: false

    Install

    npm i wordpuzzle

    DownloadsWeekly Downloads

    5

    Version

    1.0.0

    License

    none

    Unpacked Size

    48.6 kB

    Total Files

    4

    Last publish

    Collaborators

    • ctrlaltdev