A delightful cat-themed minesweeper game built with React, featuring customizable emojis, multiple difficulty levels, and crystal-clear victory conditions.
- Default cat emoji (๐ฑ) mines with full customization
- 15 preset animal emojis for quick selection
- Custom emoji input for personalized experience
- Theme updates across entire game interface
- Real-time progress indicator showing exact completion percentage
- Live cell counting: "Progress: 24/71 safe cells revealed (47 to go)"
- Dynamic status messages guiding players toward victory
- Spectacular victory celebration with confetti and statistics
- Beginner: 9ร9 grid, 10 cats (reveal 71/81 cells)
- Intermediate: 16ร16 grid, 40 cats (reveal 216/256 cells)
- Expert: 16ร30 grid, 99 cats (reveal 381/480 cells)
- Confirmation dialog for cat clicks in beginner mode
- Comprehensive instructions with clear win conditions
- Pro tips and strategic guidance
- Visual feedback with hover effects and animations
- Responsive layout working on desktop and mobile
- Smooth animations and micro-interactions
- Professional UI with Tailwind CSS styling
- Retro minesweeper aesthetics with modern enhancements
- Node.js 18+
- pnpm (recommended) or npm
# Clone the repository
git clone <your-repo-url>
cd cat-minesweeper
# Install dependencies
pnpm install
# or
npm install
# Start development server
pnpm run dev
# or
npm run dev
# Build for production
pnpm run build
# or
npm run buildpnpm run dev --hostAccess the game at http://localhost:5173
cat-minesweeper/
โโโ public/
โ โโโ vite.svg
โโโ src/
โ โโโ components/
โ โ โโโ ui/ # Shadcn/ui components
โ โ โโโ ConfirmationDialog.jsx # Beginner mode confirmation
โ โ โโโ GameBoard.jsx # Main game grid
โ โ โโโ GameHeader.jsx # Timer, counter, reset button
โ โ โโโ GameInstructions.jsx # How to play panel
โ โ โโโ GameSettings.jsx # Emoji customization
โ โ โโโ ProgressIndicator.jsx # Victory progress tracking
โ โ โโโ VictoryModal.jsx # Celebration modal
โ โโโ hooks/
โ โ โโโ useMinesweeper.js # Core game logic
โ โโโ App.jsx # Main application
โ โโโ App.css # Custom styles
โ โโโ main.jsx # Entry point
โโโ index.html
โโโ package.json
โโโ tailwind.config.js
โโโ vite.config.js
โโโ README.md
Reveal all safe cells without clicking any cats (mines) to win!
- Left Click: Reveal a cell
- Right Click: Flag/unflag a suspected cat
- Reset Button: Start a new game
- Beginner: Reveal 71 out of 81 cells (avoid 10 ๐ฑs)
- Intermediate: Reveal 216 out of 256 cells (avoid 40 ๐ฑs)
- Expert: Reveal 381 out of 480 cells (avoid 99 ๐ฑs)
Watch the progress bar and status messages to see exactly how close you are to victory!
- React 18.3.1 - UI framework
- Vite 6.3.5 - Build tool and dev server
- Tailwind CSS 3.4.17 - Styling framework
- Shadcn/ui - UI component library
- Lucide React - Icon library
- Mine generation and placement
- Flood-fill algorithm for cell revelation
- Game state management (READY, PLAYING, WON, LOST)
- Timer and scoring system
- Real-time progress calculation
- Dynamic status messages
- Visual progress bar
- Clear win condition communication
- Confetti animation
- Detailed game statistics
- Performance feedback
- New game options
const GAME_STATES = {
READY: 'ready', // Game initialized, waiting for first click
PLAYING: 'playing', // Game in progress
WON: 'won', // All safe cells revealed
LOST: 'lost' // Cat clicked, game over
};The game supports full emoji customization:
- Default: ๐ฑ (Cat)
- Preset options: ๐ถ๐ญ๐น๐ฐ๐ฆ๐ป๐ผ๐จ๐ฏ๐ฆ๐ธ๐ต๐๐ง๐ฆ
- Custom input: Any emoji or combination
Built with Tailwind CSS for easy customization:
- Modify
tailwind.config.jsfor theme changes - Custom styles in
App.css - Component-level styling with Tailwind classes
# Build the project
pnpm run build
# Deploy the dist/ folder to your hosting service
# (Netlify, Vercel, GitHub Pages, etc.)No environment variables required - the game runs entirely client-side.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is open source and available under the MIT License.
- Inspired by the classic Minesweeper game
- Built with modern React and Vite
- Enhanced with Tailwind CSS and Shadcn/ui
- Cat theme for maximum enjoyment! ๐ฑ
Enjoy playing Cat Minesweeper! ๐ฎโจ
