CLI Klondike Solitaire written in Rust
The simplest way to run klondike-rs
is to install it from crates.io
using Cargo.
$ cargo install klondike-rs
Cargo will have to download and compile all necessary dependencies, as well as compile this project's source, so it may take a few moments.
Then, assuming Cargo is set up on your path, you can run it using
$ klondike-rs
If you don't have Rust (or Cargo, its build tool), you can get it using Rustup. I will try to keep the project compiling on stable Rust, but I reserve the right to require nightly if there's a really nice feature I want. :)
Technically installing from crates.io is compiling from source, but if you would like to check out the code and mess around with it, you can do so using
$ git clone https://github.com/chrisbouchard/klondike-rs.git
...
$ cd klondike-rs
$ cargo run
To find out more about Cargo, you can check out The Cargo Book.
You can always type h
or ?
to get the help screen!
To be written…
Configuration uses TOML, a popular mark-up language among Rust projects. Below is a sample configuration file which sets all settings to their default values, so you'd only need to include a key if you wanted to change its value.
[display]
# Whether to use ANSI color escapes
# TODO: Currently ignored
color = true
# Whether to use Unicode box-drawing characters
# TODO: Currently ignored
unicode = true
[game]
# How many cards to draw (usually 3 or 1)
# TODO: No bounds checking, so don't break things
draw_from_stock_len = 3
# Whether it's permitted to move a card out of a foundation
take_from_foundation = true
Configuration files are picked up from several locations, depending on your OS.
$HOME/.klondike-rs.toml
— Any OS- E.g.,
/home/chris/.klondkie-rs.toml
- E.g.,
$XDG_CONFIG_HOME/klondike-rs/config.toml
— Linux only- E.g.,
/home/chris/.config/klondkie-rs/config.toml
- E.g.,
$HOME/Library/Preferences/net.upliftinglemma.klondike-rs/config.toml
— MacOS only- E.g.,
/Users/Chris/Library/Preferences/net.upliftinglemma.klondike-rs/config.toml
- E.g.,
{FOLDERID_RoamingAppData}\upliftinglemma\klondike-rs\config\config.toml
— Windows only- E.g.,
C:\Users\Chris\AppData\Roaming\upliftinglemma\klondike-rs\config\config.toml
- E.g.,
This project is still very alpha, but it's at least runnable. Some high-level things that still need to happen:
- Respect configuration regarding color and Unicode.
- Document all public structs and functions and re-enable
warn(missing_docs)
. - Offer more cosmetic configuration, e.g., card backs.
To be written…