Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/murilopolese/fabulous-minesweeper
This is an exercise and a remake of a dear game: Minesweeper.
https://github.com/murilopolese/fabulous-minesweeper
Last synced: about 18 hours ago
JSON representation
This is an exercise and a remake of a dear game: Minesweeper.
- Host: GitHub
- URL: https://github.com/murilopolese/fabulous-minesweeper
- Owner: murilopolese
- Created: 2013-11-23T20:55:21.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2022-12-30T19:33:15.000Z (almost 2 years ago)
- Last Synced: 2024-04-10T14:16:45.952Z (7 months ago)
- Language: JavaScript
- Homepage: https://fabulous-minesweeper.herokuapp.com/
- Size: 645 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fabulous Minesweeper
This is an exercise and a remake of a dear game: [Minesweeper](https://en.wikipedia.org/wiki/Minesweeper_(video_game)).
From [Wikipedia](https://en.wikipedia.org/wiki/Minesweeper_(video_game)):
> Minesweeper is a single-player puzzle video game. The objective of the game is to clear a rectangular board containing hidden "mines" or bombs without detonating any of them, with help from clues about the number of neighboring mines in each field.
## Playing
Start a web server on the root of this repository and navigate to the server address or simply double click the `index.html` file. I have a special appreciation opening html documents from the filesystem.
## Testing
The game makes a clear separation between the library and frontend. The library is tested using [Mocha](https://mochajs.org/) and [Chai](https://www.chaijs.com/) but the interface is not.
Note that some features such as recursively expand "empty" tiles is part of the front end implementation and has no tests.
## Building
The game library (`minesweeper_lib.js`) is written in [CommonJS](https://en.wikipedia.org/wiki/CommonJS) and made available to the browser through [Browserify](http://browserify.org/).
The build step is as simple as `browserify minesweeper_lib.js -o dist.js` or `npm run test`.
If you want `dist.js` to be rebuilt everytime `minesweeper_lib.js` is altered you can run `watchify minesweeper_lib.js -o dist.js` or `npm run watch`.