wordpuzzle v1.0.0
wordPuzzle
Kind: global class
- wordPuzzle
- new wordPuzzle()
- instance
- .wordList
- .placeWordInPuzzle(puzzle, opts, word) ⇒ boolean
- .newPuzzle([wordList], [options]) ⇒ Array.<Array>
- .newPuzzleLax(opts)
- .solve(puzzle, words) ⇒ Array.<{x: number, y: number, orientation: string, word: string, overlap: number}>
- .print(puzzle) ⇒ string
- .drawPuzzle([domElem], [puzzle])
- .setEventHandlers([domElem])
- static
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 |
6 years ago