Git Product home page Git Product logo

solkit's Introduction

Table of Contents

Documentation

Intro

SolKit is a solitaire construction kit and a lot of playable solitaires out of the box. The application contains 26 built-in solitaires (23 distinct ones and 3 modifications). Moreover, you can create a new solitaire with your own rules and test it. If a new solitaire looks good to you, please, send me its rules(the file you passed to solkit) or open an PR and I'll include it into a new release. The built-in set of rules is limited, but you can experiment with different rule combinations and modifications:

  • mix of Free cell and Klondike, or American Toad and Klondike
  • Klondike with fewer or greater number of columns
  • Klondike with two decks and 4 foundations with ascending order starting from Ace, and other 4 foundations in descending order starting from King
  • brand new solitaires, like included Pile'em up
  • and many more another ways to have fun with solitaires.

Look and feel

The application provides two themes. The dark one(default one) that looks like a regular terminal application with black background:

Dark theme

dark theme with four suit colors enabled:

Dark theme with four suit colors

and Classic theme that looks like a table to play card games with green background:

Classic theme

The game is optimized for playing with keyboard, but mouse can be used as well(few terminals still do not support mouse, including new Windows Terminal, but it works in Windows cmd.exe terminal). Keyboard and mouse controls are describes in details in user's manual.

Installation

The application can be compiled from source, or installed using cargo:

$ cargo install solkit

You need Rust compiler that supports Rust 2018 edition to do it. If you want to upgrade existing SolKit, execute the following command:

$ cargo install solkit --force

Pre-compiled binaries

For Windows and Linux(musl-based build) you can download pre-compiled 64-bit binaries from Release page.

Portable mode

By default, solkit saves all settings and statistics to user's configuration directory:

  • Windows: %APPDATA%\rionnag\solkit
  • Linux: ~/.config/rionnag/solkit

If you create an empty file config.toml(or copy it from user's configuration directory) in the same directory where solkit executable binary is, the application turns a portable one and since the next launch it will save its settings and your statistics local to the binary.

Note: if you played for a while and want to keep you statistics after making the application portable, do not forget to copy both files:

  • config.toml: various application settings, including the last played solitaire
  • stats.toml: detailed statistics for each played solitaire

License

MIT or Apache 2.0

Credits

Thank you all who play Solkit and send me new solitaires, report bugs, and propose new features.

Feel free to send bugs, suggestions, and pull requests.

solkit's People

Contributors

vladimirmarkelov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

solkit's Issues

Show more info in the right column

The right side is mostly empty: only a few lines about the current solitaire. Maybe show the current and the selected cards there as well - e.g, for case when a column is higher than the screen and some cards are out of screen.

Another idea: show the order of cards in foundation and columns (though every pile can have its own order)

Track time spent on each solitaire

No top list with best time - the top list is quickly filled with almost the same values and the time gets useless. Total time per a solitaire may be interesting in the long run.

Show destinations

There is a hotkey s to show what cards can be moved to another pile, but there is no hotkey to show where the current card can be put. Add hotkey shift+s for this.

Refactoring

  • remove duplicated code
  • remove commented code
  • add comments

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.