File | Date | Author | Commit |
---|---|---|---|
.github | 2025-02-22 |
![]() |
[baf944] MSI Stuff |
CLI | 2025-02-19 |
![]() |
[312647] PCURSES |
gtk | 2025-02-22 |
![]() |
[312631] -mwindows |
src | 2025-02-19 |
![]() |
[d8e8f7] Icon |
windows | 2025-02-19 |
![]() |
[d8e8f7] Icon |
.gitignore | 2025-02-16 |
![]() |
[c9fbaf] Latest |
LICENSE.md | 2025-02-10 |
![]() |
[36883c] First attempt |
README.md | 2025-02-27 |
![]() |
[35eea7] Updated README |
A modern, feature-rich implementation of the classic Minesweeper game, available in Windows Forms, Linux GTK, and Terminal versions.
A polished, graphical implementation built with Windows Forms and C++, featuring a modern user interface.
A polished, graphical implementation built with GTK and C++, featuring a modern user interface.
A classic, ncurses-based implementation perfect for terminal environments and systems without graphical interfaces.
All versions include:
- Four difficulty levels:
- Easy (9x9 grid, 10 mines)
- Medium (16x16 grid, 40 mines)
- Hard (16x30 grid, 99 mines)
- Custom board size with custom number of mines
- High score system with persistent storage
- Separate leaderboards for each difficulty
- Top 10 times per difficulty level
- Scores saved in platform-appropriate location:
- Windows: %APPDATA%.minesweeper\scores.txt
- Unix: ~/.minesweeper/scores.txt
- Color-coded numbers for adjacent mine counts
- Game timer with MM:SS format display
- First-click protection (never hit a mine on first move)
- Quick-reveal for completed number tiles
Mouse Controls:
- Left Click: Reveal cell
- Right Click: Flag/unflag cell
- Left Click on Number: Quick-reveal adjacent cells (if correct number of flags placed)
Keyboard Shortcuts:
- N: Start new game
- F1: Switch to Easy difficulty
- F2: Switch to Medium difficulty
- F3: Switch to Hard difficulty
- Ctrl+H: View high scores
Mouse Controls:
- Left Click: Reveal cell
- Right Click: Flag/unflag cell
- Left Click on Number: Quick-reveal adjacent cells (if correct number of flags placed)
Keyboard Shortcuts:
- CTRL+N: Start new game
- CTRL+1: Switch to Easy difficulty
- CTRL+2: Switch to Medium difficulty
- CTRL+3: Switch to Hard difficulty
- Ctrl+H: View high scores
- Ctrl+Q: Quit
- Ctrl+R: Reset Game
Requirements:
- Windows operating system
- .NET Framework 4.5 or higher
- 64-bit processor
- Minimum 2GB RAM
- Screen resolution: 800x600 or higher
cd windows
msbuild /p:Configuration=Release /p:Platform=x64 minesweeper.vcxproj
Requirements:
- Linux operating system
- G++
- gtk3-development libraries (gtk3-devel on Fedora)
- Minimum 2GB RAM
- Screen resolution: 800x600 or higher
# Compile and run GTK version
cd gtk
make
cd build/linux
./minesweeper
Requirements:
- Linux operating system (to compile)
- G++
- 64-bit processor
- Minimum 2GB RAM
- Screen resolution: 800x600 or higher
- MINGW and GTK3-development (mingw-gtk3 on Fedora)
# Compile and run GTK version
cd gtk
make windows
cd build
mv windows minesweeper_gtk
zip minesweeper_gtk.zip minesweeper_gtk -r
# Copy ZIP file to windows and decompress
On windows run minesweeper_gtk.exe
Requirements:
- C++ compiler with C++11 support
- ncurses library
# Compile and run Terminal version
cd CLI
make
./minesweeper
All versions support:
- Active gameplay
- Game over (mine revealed)
- Victory (all non-mine cells revealed)
- High score entry
- High score display
The Terminal version also includes:
- Menu (difficulty selection)
- Help screen
MINESWEEPER Time: 01:23
1 1 1
1 * 1 # = Hidden cell
1 1 1 F = Flag
* = Mine
All versions are licensed under MIT; see LICENSE.md.
Created by Jason Brian Hall (jasonbrianhall@gmail.com)