This project is a web version of the classic Minesweeper game. Players must find all safe cells while avoiding mines in this puzzle game.
- Difficulty selection (Beginner: 9x9 grid, 10 mines / Intermediate: 16x16 grid, 40 mines / Expert: 30x16 grid, 99 mines)
- Custom difficulty settings (adjustable grid size and number of mines)
- Game timer functionality
- Remaining mine counter
- First click is always safe
- Right-click to flag potential mines
- Save game results and view records
- Game board: Grid composed of clickable cells
- Top panel: Timer, remaining mines counter, new game button
- Menu: Difficulty selection, game restart, records view
- Mobile compatibility: Touch interface support
- React
- TypeScript
- Vite
- Testing: Vitest, React Testing Library
- ESLint & Prettier
- Select desired difficulty
- Click a cell on the game board to start
- Mouse controls:
- Left-click: Reveal cell
- Right-click: Place/remove flag
- Keyboard controls:
- Arrow keys: Navigate between cells
- Space or Enter: Reveal selected cell
- F: Place/remove flag
- R: Restart game
- Win by finding all safe cells