Skip to content

amgSTRIDeR/minesweeper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Minesweeper

A browser-based Minesweeper game built as an educational project.

Live Demo

Features

  • Dynamic board sizes: 10x10, 15x15, 25x25
  • Configurable mine count (10 to 99)
  • 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)

Tech Stack

  • Vanilla JavaScript (ES modules)
  • SCSS
  • Webpack 5
  • ESLint + Prettier

Getting Started

Prerequisites

  • Node.js 18+ (recommended)
  • npm

Installation

npm install

Run in Development

npm start

Starts webpack-dev-server and opens the app in your browser.

Build for Production

npm run build

Production files will be generated in the dist/ folder.

Deploy to GitHub Pages

npm run deploy

This command publishes the dist/ folder to the gh-pages branch.

Available Scripts

  • npm start β€” start local development server
  • npm run build β€” create production build
  • npm run deploy β€” deploy build to GitHub Pages
  • npm run lint β€” run ESLint
  • npm run lint:fix β€” auto-fix lint issues where possible

Project Structure

minesweeper/
β”œβ”€ assets/
β”œβ”€ src/
β”‚  β”œβ”€ index.js
β”‚  └─ scss/
β”œβ”€ index.html
β”œβ”€ webpack.config.js
└─ package.json

Notes

  • This repository is intended for learning purposes.
  • UI text is partially localized from the original student implementation.

About

πŸ’£ Classic Minesweeper game recreation with timer, flag system, and customizable grid sizes

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors