From 3f68ce545db2696ab78655deba2bb6c596c10a0b Mon Sep 17 00:00:00 2001 From: Rhys Lloyd Date: Sat, 16 May 2026 12:41:02 -0700 Subject: [PATCH] skip some tableau moves for autoplay --- src/main.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index c223bce..1716468 100644 --- a/src/main.rs +++ b/src/main.rs @@ -225,13 +225,27 @@ fn main() -> Result<(), std::io::Error> { } SessionInstruction::Auto => { fn useless_moves(instruction: &KlondikeInstruction) -> bool { - // foundation -> foundation is a useless move !matches!( instruction, + // foundation -> foundation is a useless move KlondikeInstruction::DstFoundation(DstFoundation { src: KlondikePile::Foundation(_), .. }) + // Tableau -> Tableau when not revealing a new card is _usually_ a useless move + | KlondikeInstruction::DstTableau(DstTableau { + src: KlondikePileStack::Tableau(TableauStack { + skip_cards: SkipCards::Skip1 + | SkipCards::Skip2 | SkipCards::Skip3 + | SkipCards::Skip4 | SkipCards::Skip5 + | SkipCards::Skip6 | SkipCards::Skip7 + | SkipCards::Skip8 | SkipCards::Skip9 + | SkipCards::Skip10 | SkipCards::Skip11 + | SkipCards::Skip12, + .. + }), + .. + }) ) } if let Some(instruction) =