{"id":17358891,"url":"https://github.com/muke1908/slot-machine-demo","last_synced_at":"2025-03-27T16:17:18.925Z","repository":{"id":115204798,"uuid":"261611299","full_name":"muke1908/slot-machine-demo","owner":"muke1908","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-24T02:30:57.000Z","size":1049,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-01T19:45:03.605Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muke1908.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-06T00:11:59.000Z","updated_at":"2020-05-07T06:55:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"7a21fd32-3fc9-4106-a25f-d24317390148","html_url":"https://github.com/muke1908/slot-machine-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muke1908%2Fslot-machine-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muke1908%2Fslot-machine-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muke1908%2Fslot-machine-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muke1908%2Fslot-machine-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muke1908","download_url":"https://codeload.github.com/muke1908/slot-machine-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245878924,"owners_count":20687297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T19:07:25.642Z","updated_at":"2025-03-27T16:17:18.903Z","avatar_url":"https://github.com/muke1908.png","language":"JavaScript","readme":"\u003e This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).  \n\nDEMO: https://muke1908.github.io/slot-machine-demo/\n\n## Slot Machine\n\nThis is a slot machine implementation having following features:\n- Configurable reels (`./config/slot`, `./config/reel`)\n- Supports bias in each reel.\n- Configurable pay tables (`./config/paytable`)\n- Balance indicator.\n- Debug mode - debug mode will allow you to set a *symbol* at any position in each *reel*. However, the wining combination will be decided based on the pay table configuration.\n\n## Configs  \n\n1. **Reel** - `/config/reel.js`  \n\n| Variables   |      Description      |  Type |\n|----------|-------------|------|\n| `symbols` |  Array of symbols in a reel   |   `[{symbol, image}]` |\n\n\n2. **Slot** - `/config/slot.js`  \n\n| Variables   |      Description      |  Type |\n|----------|-------------|------|\n| `slotSpeed` |  No of symbol/sec while spinning   |   `Number` |\n| `reelSpinDelay` |  Delay in stopping spins from left to right   |   `Number` |\n| `winningLabels` |  Winning labels in their vertical order   |   `Array` |\n| `spinDuration` |  Spin duration in seconds   |   `Number` |\n| `reelsCount` |  No of reels in slot   |   `Number` |\n| `slotBias` |  Add bias for each reel while picking random symbol   |   [Array] |\n\n\n3. **Pay Table** - `/config/payTable.js`  \n\n| Variables   |      Description      |  Type |\n|----------|-------------|------|\n| `spinCost` |  No of coin required for each spin | Number |\n| `winningCombination` |    The combination that defines wining line and winning amount   |   `Array` |\n\n**NOTE:** Pay table supports any types (horizontal) of winning combinations. The final result will consider the **order** of combination in the table - *Winning combination will be the first matched combination in pay table*\n\n4. **Player** - `/config/user.js`  \n\n| Variables   |      Description      |  Type |\n|----------|-------------|------|\n| `initialBalance` |  Balance to start session with   |   `Number` |\n| `maxReloadAmount` |  Max amount to reload at once    |   `Number` |\n| `minReloadAmount` |  Min amount to reload at once    |   `Number` |\n\n\n\n## Start the app  \n```npm start```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuke1908%2Fslot-machine-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuke1908%2Fslot-machine-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuke1908%2Fslot-machine-demo/lists"}