A browser-based Minesweeper game built as an educational project.
- GitHub Pages: https://amgstrider.github.io/minesweeper/
- Dynamic board sizes:
10x10,15x15,25x25 - Configurable mine count (
10to99) - Left click to open a cell, right click to place/remove a flag
- Auto-open for empty cells
- Game timer and turn counter
- Win/lose state with sound feedback
- Light/dark theme switch
- Sound on/off toggle
- Save and load the latest game state via
localStorage - Last 10 game results table (stored in
localStorage)
- Vanilla JavaScript (ES modules)
- SCSS
- Webpack 5
- ESLint + Prettier
- Node.js 18+ (recommended)
- npm
npm installnpm startStarts webpack-dev-server and opens the app in your browser.
npm run buildProduction files will be generated in the dist/ folder.
npm run deployThis command publishes the dist/ folder to the gh-pages branch.
npm startβ start local development servernpm run buildβ create production buildnpm run deployβ deploy build to GitHub Pagesnpm run lintβ run ESLintnpm run lint:fixβ auto-fix lint issues where possible
minesweeper/
ββ assets/
ββ src/
β ββ index.js
β ββ scss/
ββ index.html
ββ webpack.config.js
ββ package.json
- This repository is intended for learning purposes.
- UI text is partially localized from the original student implementation.