freecell 0.1.0

Game objects and rules for the solitaire card game FreeCell
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mod check_cards;
mod check_foundations;

use super::GameState;

impl GameState {
    /// Checks whether a game state is correct, i.e.
    /// - each card exists exactly once
    /// - each card on a foundation is of the correct suit
    /// - the cards on a foundation are ordered correctly
    // TODO [med priority] needs more tests
    pub fn validate(&self) -> Result<(), String> {
        check_cards::check_cards(&self)?;
        check_foundations::check_foundations(&self)?;
        Ok(())
    }
}