Files
nomines/README.md
T
bernardo 2dbf64a2e8 Release 1.0.0: rename to NoMines, add leaderboard, theme support and release metadata
- Rename app/binary/app-id to nomines (io.github.bemagri.nomines), config dir
  moves to ~/.config/nomines with legacy path fallback
- Add persistent best-time leaderboard (Glib::KeyFile)
- Theme-aware board following system light/dark preference
- Beveled 3D cells, confetti win animation, keyboard shortcuts,
  right-click chording, per-difficulty window sizing
- Add AppStream metainfo, validate desktop file and metainfo via meson tests
- Fix license metadata to GPL-3.0-or-later and real homepage
2026-08-01 14:06:43 +01:00

110 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NoMines
A modern GTK4/gtkmm implementation of the classic Minesweeper game with multiple difficulty levels, a persistent leaderboard, keyboard shortcuts, and light/dark theme support.
![Game Screenshot](screenshots/screen1.png)
## Features
- Multiple difficulty levels: Beginner, Intermediate, Expert, and Master
- Persistent leaderboard tracking the best time per difficulty
- Follows the system light/dark theme
- Win/lose animations, including a confetti win celebration
- Keyboard shortcuts: `R` / `Ctrl+N` new game, `1``4` difficulty, `L` leaderboard
- Right-click chording on revealed cells
- Modern GTK4 user interface with client-side decorations
- Modern C++20 implementation
## Building from Source
### Dependencies
- GTK 4.0 or later
- gtkmm 4.0 or later
- sigc++ 3.0 or later
- Meson build system
- Ninja build system
### Ubuntu/Debian
Install dependencies:
```bash
sudo apt install build-essential meson ninja-build libgtkmm-4.0-dev libsigc++-3.0-dev
```
### Fedora
Install dependencies:
```bash
sudo dnf install gcc-c++ meson ninja-build gtkmm4.0-devel libsigc++3-devel
```
### Arch Linux
Install dependencies:
```bash
sudo pacman -S base-devel meson ninja gtkmm-4.0 libsigc++-3.0
```
### Building the Project
Clone the repository:
```bash
git clone https://github.com/bemagri/nomines
cd nomines
```
Configure and build with Meson:
```bash
meson setup build
meson compile -C build
```
Run the game:
```bash
./build/nomines
```
### Installing
To install system-wide:
```bash
meson install -C build
```
## Using Nix
If you use the Nix package manager, you can build and run the application with:
```bash
nix build
./result/bin/nomines
```
Or run it directly from the flake:
```bash
nix run
```
The Nix flake also provides a development shell with all dependencies:
```bash
nix develop
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.