diff options
Diffstat (limited to 'src/card')
| -rw-r--r-- | src/card/cardlist.rs | 30 | ||||
| -rw-r--r-- | src/card/effect.rs | 23 | ||||
| -rw-r--r-- | src/card/mod.rs | 1 |
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::*; |
