Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/1computer1/slot-machine
A JS module for playing a slot machine. Also on NPM https://www.npmjs.com/package/slot-machine.
https://github.com/1computer1/slot-machine
Last synced: 6 days ago
JSON representation
A JS module for playing a slot machine. Also on NPM https://www.npmjs.com/package/slot-machine.
- Host: GitHub
- URL: https://github.com/1computer1/slot-machine
- Owner: 1Computer1
- License: mit
- Created: 2016-11-10T23:02:19.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-19T01:45:06.000Z (over 7 years ago)
- Last Synced: 2024-10-26T03:06:20.033Z (10 days ago)
- Language: JavaScript
- Size: 18.6 KB
- Stars: 12
- Watchers: 1
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# About
A slot machine that's not accurate to real life at all.
# Example
```js
const { SlotMachine, SlotSymbol } = require('../src/index');const cherry = new SlotSymbol('cherry', {
display: '🍒',
points: 10,
weight: 100
});const money = new SlotSymbol('money', {
display: '💰',
points: 100,
weight: 50
});const wild = new SlotSymbol('wild', {
display: '❔',
points: 10,
weight: 50,
wildcard: true
});const machine = new SlotMachine(3, [cherry, money, wild]);
const results = machine.play();console.log(results.visualize());
```# Docs
### `SlotSymbol(name[, options])`
- `name` A unique name for the symbol.
- `options.display` A character to use for displaying.
- `options.points` Amount of points the symbol gives.
- `options.weight` Chance of symbol appearing relative to others.
- `options.wildcard` Whether or not the symbol is a wildcard.Creates a new SlotSymbol instance:
- `name` The symbol's name.
- `display` The character for display.
- `points` Amount of points the symbol gives.
- `weight` Chance of symbol appearing.
- `wildcard` Whether or not the symbol is a wildcard.### `SlotMachine(size, symbols[, random])`
- `size` Size of grid, must be odd number above 3.
- `symbols` Array of SlotSymbols to use.
- `random` Function returning number [0, 1).Creates a new SlotMachine instance:
- `size` Size of grid.
- `symbols` Symbols to be used.
- `random` Function returning number [0, 1).##### `.play()`
Plays the slot machine and returns the results.
`=> Results`##### `.chanceOf(name)`
- `name` Name of a SlotSymbol.
Gets the chance of a symbol appearing.
`=> number`### ``
The results of a slot machine play:
- `lines` The lines generated from the play, where the last two are the major and minor diagonals.
- `totalPoints` Total amount of points from won lines.
- `winCount` Amount of lines that have been won.##### `.visualize([includeDiagonals])`
- `includeDiagonals` Whether or not to include diagonals in the visualization.
Creates a formatted string from the results.
`=> string`### ``
The lines from a slot machine play:
- `symbols` The symbols in the line.
- `diagonal` Whether or not the line is a diagonal.
- `isWon` Whether or not the line is won.
- `points` The amount of points this line would give.