separate klondike

This commit is contained in:
2026-05-16 16:55:58 -07:00
parent fe2530bfc8
commit 5ed4ec139f
10 changed files with 39 additions and 18 deletions
+33
View File
@@ -0,0 +1,33 @@
use crate::Klondike;
use card_game::{Game, Session};
#[test]
fn test_is_winnable() {
// is winnable
let is_winnable = Session::new(Klondike::new_random_default()).is_winnable();
println!("is_winnable = {is_winnable:?}");
}
#[test]
fn test_klondike() {
// create game session
let game = Klondike::new_random_default();
let mut session = Session::new(game);
// is winnable
let is_winnable = session.is_winnable();
println!("is_winnable = {is_winnable:?}");
// play game
while let Some(instruction) = session.possible_instructions().next() {
session.process_instruction(instruction);
}
// did win
let is_win = session.is_win();
// print session history
for (i, instruction) in session.history().iter().enumerate() {
println!("move {i} = {instruction:?}");
}
println!("is_win = {is_win}");
}