skip some tableau moves for autoplay

This commit is contained in:
2026-05-16 12:41:02 -07:00
parent a3e405b4bc
commit 3f68ce545d
+15 -1
View File
@@ -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) =