skip some tableau moves for autoplay
This commit is contained in:
+15
-1
@@ -225,13 +225,27 @@ fn main() -> Result<(), std::io::Error> {
|
|||||||
}
|
}
|
||||||
SessionInstruction::Auto => {
|
SessionInstruction::Auto => {
|
||||||
fn useless_moves(instruction: &KlondikeInstruction) -> bool {
|
fn useless_moves(instruction: &KlondikeInstruction) -> bool {
|
||||||
// foundation -> foundation is a useless move
|
|
||||||
!matches!(
|
!matches!(
|
||||||
instruction,
|
instruction,
|
||||||
|
// foundation -> foundation is a useless move
|
||||||
KlondikeInstruction::DstFoundation(DstFoundation {
|
KlondikeInstruction::DstFoundation(DstFoundation {
|
||||||
src: KlondikePile::Foundation(_),
|
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) =
|
if let Some(instruction) =
|
||||||
|
|||||||
Reference in New Issue
Block a user