rename PileIds to use human numbers

This commit is contained in:
2026-05-15 12:24:07 -07:00
parent dcd4308209
commit 0deee670d9
2 changed files with 15 additions and 15 deletions
+10 -10
View File
@@ -11,7 +11,6 @@ impl Default for KlondikeConfig {
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub enum KlondikePileId {
Tableau0,
Tableau1,
Tableau2,
Tableau3,
@@ -19,28 +18,29 @@ pub enum KlondikePileId {
Tableau5,
Tableau6,
Tableau7,
Foundation0,
Tableau8,
Foundation1,
Foundation2,
Foundation3,
Foundation4,
Stock,
}
impl KlondikePileId {
fn next(self) -> Option<Self> {
use KlondikePileId::*;
Some(match self {
Tableau0 => Tableau1,
Tableau1 => Tableau2,
Tableau2 => Tableau3,
Tableau3 => Tableau4,
Tableau4 => Tableau5,
Tableau5 => Tableau6,
Tableau6 => Tableau7,
Tableau7 => Foundation0,
Foundation0 => Foundation1,
Tableau7 => Tableau8,
Tableau8 => Foundation1,
Foundation1 => Foundation2,
Foundation2 => Foundation3,
Foundation3 => Stock,
Foundation3 => Foundation4,
Foundation4 => Stock,
Stock => return None,
})
}
@@ -99,10 +99,10 @@ impl KlondikeState {
KlondikeInstruction { src, dst }
if matches!(
dst,
KlondikePileId::Foundation0
| KlondikePileId::Foundation1
KlondikePileId::Foundation1
| KlondikePileId::Foundation2
| KlondikePileId::Foundation3
| KlondikePileId::Foundation4
) =>
{
// get the top cards
@@ -152,8 +152,8 @@ impl KlondikeIter {
fn new() -> Self {
Self {
instruction: Some(KlondikeInstruction {
src: KlondikePileId::Tableau0,
dst: KlondikePileId::Tableau1,
src: KlondikePileId::Tableau1,
dst: KlondikePileId::Tableau2,
}),
}
}
+5 -5
View File
@@ -50,15 +50,14 @@ impl Display for Klondike {
write!(
f,
"Foundations: {} {} {} {}",
OptionalCard(self.pile(KlondikePileId::Foundation0).face_up().last()),
OptionalCard(self.pile(KlondikePileId::Foundation1).face_up().last()),
OptionalCard(self.pile(KlondikePileId::Foundation2).face_up().last()),
OptionalCard(self.pile(KlondikePileId::Foundation3).face_up().last())
OptionalCard(self.pile(KlondikePileId::Foundation3).face_up().last()),
OptionalCard(self.pile(KlondikePileId::Foundation4).face_up().last()),
)?;
writeln!(f)?;
for (i, tableau) in [
KlondikePileId::Tableau0,
KlondikePileId::Tableau1,
KlondikePileId::Tableau2,
KlondikePileId::Tableau3,
@@ -66,6 +65,7 @@ impl Display for Klondike {
KlondikePileId::Tableau5,
KlondikePileId::Tableau6,
KlondikePileId::Tableau7,
KlondikePileId::Tableau8,
]
.into_iter()
.enumerate()
@@ -101,7 +101,6 @@ impl core::str::FromStr for Parsed<KlondikePileId> {
fn from_str(s: &str) -> Result<Self, Self::Err> {
Ok(Parsed(match s {
"ST" | "st" => KlondikePileId::Stock,
"T0" | "t0" => KlondikePileId::Tableau0,
"T1" | "t1" => KlondikePileId::Tableau1,
"T2" | "t2" => KlondikePileId::Tableau2,
"T3" | "t3" => KlondikePileId::Tableau3,
@@ -109,10 +108,11 @@ impl core::str::FromStr for Parsed<KlondikePileId> {
"T5" | "t5" => KlondikePileId::Tableau5,
"T6" | "t6" => KlondikePileId::Tableau6,
"T7" | "t7" => KlondikePileId::Tableau7,
"F0" | "f0" => KlondikePileId::Foundation0,
"T8" | "t8" => KlondikePileId::Tableau8,
"F1" | "f1" => KlondikePileId::Foundation1,
"F2" | "f2" => KlondikePileId::Foundation2,
"F3" | "f3" => KlondikePileId::Foundation3,
"F4" | "f4" => KlondikePileId::Foundation4,
_ => return Err(Invalid),
}))
}