Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crlf0710/charlesmine-rs
A triangle minesweeper game in Rust.
https://github.com/crlf0710/charlesmine-rs
Last synced: about 1 month ago
JSON representation
A triangle minesweeper game in Rust.
- Host: GitHub
- URL: https://github.com/crlf0710/charlesmine-rs
- Owner: crlf0710
- License: apache-2.0
- Created: 2018-10-06T15:34:13.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-30T11:59:28.000Z (over 1 year ago)
- Last Synced: 2024-08-03T09:12:27.639Z (4 months ago)
- Language: Rust
- Homepage:
- Size: 98.6 KB
- Stars: 92
- Watchers: 4
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.Apache2
Awesome Lists containing this project
README
# CharlesMine-rs
A triangle minesweeper game in Rust.By porting the earlier C version [i wrote years ago](https://github.com/crlf0710/charlesmine),
**I'm doing some early research into both how to write applications with Rust, and how to design a GUI toolkit in pure Rust**.
Currently the backend is Microsoft-technology oriented, so the program is Windows-only. Backends for other OSes might be coming next.# Screenshot
![Screenshot 1](./etc/screenshot1.png "Screenshot 1")# Installation
Make sure you're using Rust windows msvc toolchain and target. Run```cargo install --git https://github.com/crlf0710/charlesmine-rs```
Theorically you can also build this with exactly the same command with windows gnu toolchain and target,
however you'll need to get yourself `windres.exe` and put its directory in `PATH`.
You can check your configuration with `windres --version` before you
run `cargo install` to see whether the tool is available.# Libraries
The implementation is quite modular. Several libraries that developed along with it can be used independently. Check them out:
* [APIW-rs](https://github.com/crlf0710/apiw-rs): Safe interfaces for Windows API. Window creation, message handling, GDI drawing, etc.
* [RESW-rs](https://github.com/crlf0710/resw-rs): Create executable resources (icons, menus, dialogs) from Rust code in `build.rs`.
* [concerto-rs](https://github.com/crlf0710/concerto-rs): Small state machine that manages complex ui action details.
* [domino-rs](https://github.com/crlf0710/domino-rs): Rust application separation of concern (SoC) experiment. Organize code as MVC components and communiate using messages.