summaryrefslogtreecommitdiff
path: root/src/card
diff options
context:
space:
mode:
authorChristian Cunningham <cc@localhost>2024-02-09 16:26:51 -0800
committerChristian Cunningham <cc@localhost>2024-02-09 16:26:51 -0800
commit40441f9a7a38fe95396e7a6dc7fb08397529b55d (patch)
treed9c95fe379552e806529f897e58d3231c2972bfd /src/card
parent5566537157361003277f043b8e3ea9a387ebb206 (diff)
Added Card To List of CardsHEADmaster
Diffstat (limited to 'src/card')
-rw-r--r--src/card/cardlist.rs30
-rw-r--r--src/card/effect.rs23
-rw-r--r--src/card/mod.rs1
3 files changed, 43 insertions, 11 deletions
diff --git a/src/card/cardlist.rs b/src/card/cardlist.rs
new file mode 100644
index 0000000..ac33cc4
--- /dev/null
+++ b/src/card/cardlist.rs
@@ -0,0 +1,30 @@
+use crate::card::card::*;
+use crate::card::player::*;
+use crate::card::effect::*;
+
+fn effect_0000() {
+ println!("Greeting's Friend");
+}
+
+pub const CARD_0000: Card = Card {
+ n: 100,
+ e: 150,
+ s: 50,
+ w: 200,
+ owner: PlayerId::NONE,
+ effect: Some(CardEffect {
+ name: "Greet Opponent",
+ description: "My Greetings",
+ when: CardEffectStates {
+ DRAW: false,
+ BEFORE_PLACE: false,
+ DURING_PLACE: false,
+ AFTER_PLACE: true,
+ BEFORE_ATTACK: false,
+ DURING_ATTACK: false,
+ AFTER_ATTACK: false,
+ END_TURN: false,
+ },
+ handle: &effect_0000,
+ }),
+};
diff --git a/src/card/effect.rs b/src/card/effect.rs
index 65e54c7..24d0a0a 100644
--- a/src/card/effect.rs
+++ b/src/card/effect.rs
@@ -2,13 +2,14 @@
#[derive(Copy,Clone)]
pub struct CardEffect {
pub name: &'static str,
- pub when: CardEffectStates, // TODO: Change this
- pub fun: &'static dyn Fn(),
+ pub description: &'static str,
+ pub when: CardEffectStates,
+ pub handle: &'static dyn Fn(),
}
impl core::fmt::Debug for CardEffect {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
- write!(f, "{}", self.name)
+ write!(f, "*{}* {}", self.name, self.description)
}
}
@@ -16,14 +17,14 @@ impl core::fmt::Debug for CardEffect {
#[allow(non_snake_case)]
#[derive(Copy, Clone)]
pub struct CardEffectStates {
- DRAW: bool,
- BEFORE_PLACE: bool,
- DURING_PLACE: bool,
- AFTER_PLACE: bool,
- BEFORE_ATTACK: bool,
- DURING_ATTACK: bool,
- AFTER_ATTACK: bool,
- END_TURN: bool,
+ pub DRAW: bool,
+ pub BEFORE_PLACE: bool,
+ pub DURING_PLACE: bool,
+ pub AFTER_PLACE: bool,
+ pub BEFORE_ATTACK: bool,
+ pub DURING_ATTACK: bool,
+ pub AFTER_ATTACK: bool,
+ pub END_TURN: bool,
}
impl Default for CardEffectStates {
diff --git a/src/card/mod.rs b/src/card/mod.rs
index 64eb9b5..79c0339 100644
--- a/src/card/mod.rs
+++ b/src/card/mod.rs
@@ -1,6 +1,7 @@
pub mod card;
pub mod effect;
pub mod player;
+pub mod cardlist;
//pub use card::*;
//pub use effect::*;
//pub use player::*;