Compare commits
4 Commits
d67645854a
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f42e7d2bb | |||
| a8106ad0b5 | |||
| fb01881f62 | |||
| dba77e7c74 |
Generated
+2
-2
@@ -28,7 +28,7 @@ checksum = "c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "card_game"
|
name = "card_game"
|
||||||
version = "0.4.0"
|
version = "0.4.1"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arrayvec",
|
"arrayvec",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -179,7 +179,7 @@ checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "klondike"
|
name = "klondike"
|
||||||
version = "0.3.0"
|
version = "0.4.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"card_game",
|
"card_game",
|
||||||
"insta",
|
"insta",
|
||||||
|
|||||||
+2
-2
@@ -8,8 +8,8 @@ members = [
|
|||||||
resolver = "3"
|
resolver = "3"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
card_game = { version = "0.4.0", path = "card_game", registry = "Quaternions" }
|
card_game = { version = "0.4.1", path = "card_game", registry = "Quaternions" }
|
||||||
klondike = { version = "0.3.0", path = "klondike", registry = "Quaternions" }
|
klondike = { version = "0.4.0", path = "klondike", registry = "Quaternions" }
|
||||||
|
|
||||||
[workspace.lints.rust]
|
[workspace.lints.rust]
|
||||||
# unsafe_code = "forbid"
|
# unsafe_code = "forbid"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "card_game"
|
name = "card_game"
|
||||||
version = "0.4.0"
|
version = "0.4.1"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
repository = "https://git.aleshym.co/Quaternions/card_game"
|
repository = "https://git.aleshym.co/Quaternions/card_game"
|
||||||
license = "MIT OR Apache-2.0"
|
license = "MIT OR Apache-2.0"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "klondike"
|
name = "klondike"
|
||||||
version = "0.3.0"
|
version = "0.4.0"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
@@ -164,6 +164,38 @@ impl Tableau {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pub struct TableauIter {
|
||||||
|
tableau: Option<Tableau>,
|
||||||
|
}
|
||||||
|
impl TableauIter {
|
||||||
|
pub const fn new() -> Self {
|
||||||
|
Self {
|
||||||
|
tableau: Some(Tableau::ITER_BEGIN),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl Default for TableauIter {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self::new()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl Iterator for TableauIter {
|
||||||
|
type Item = Tableau;
|
||||||
|
fn next(&mut self) -> Option<Self::Item> {
|
||||||
|
let tableau = self.tableau?;
|
||||||
|
self.tableau = tableau.next();
|
||||||
|
Some(tableau)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl IntoIterator for Tableau {
|
||||||
|
type Item = Self;
|
||||||
|
type IntoIter = TableauIter;
|
||||||
|
fn into_iter(self) -> Self::IntoIter {
|
||||||
|
TableauIter {
|
||||||
|
tableau: Some(self),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
|
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
|
||||||
pub enum Foundation {
|
pub enum Foundation {
|
||||||
@@ -184,6 +216,38 @@ impl Foundation {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pub struct FoundationIter {
|
||||||
|
foundation: Option<Foundation>,
|
||||||
|
}
|
||||||
|
impl FoundationIter {
|
||||||
|
pub const fn new() -> Self {
|
||||||
|
Self {
|
||||||
|
foundation: Some(Foundation::ITER_BEGIN),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl Default for FoundationIter {
|
||||||
|
fn default() -> Self {
|
||||||
|
Self::new()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl Iterator for FoundationIter {
|
||||||
|
type Item = Foundation;
|
||||||
|
fn next(&mut self) -> Option<Self::Item> {
|
||||||
|
let foundation = self.foundation?;
|
||||||
|
self.foundation = foundation.next();
|
||||||
|
Some(foundation)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
impl IntoIterator for Foundation {
|
||||||
|
type Item = Self;
|
||||||
|
type IntoIter = FoundationIter;
|
||||||
|
fn into_iter(self) -> Self::IntoIter {
|
||||||
|
FoundationIter {
|
||||||
|
foundation: Some(self),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
|
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
|
||||||
pub enum KlondikePile {
|
pub enum KlondikePile {
|
||||||
|
|||||||
Reference in New Issue
Block a user