cardinal-kernel 0.1.1

Headless, deterministic rules engine for turn-based, TCG-like games.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::ids::{CardId, PlayerId, ZoneId, PhaseId, StepId};

#[derive(Debug, Clone)]
pub enum Event {
    PhaseAdvanced { phase: PhaseId, step: StepId },
    PriorityPassed { by: PlayerId },
    CardMoved { card: CardId, from: ZoneId, to: ZoneId },
    CardPlayed { player: PlayerId, card: CardId },
    LifeChanged { player: PlayerId, delta: i32 },
    StackPushed { item_id: u32 },
    StackResolved { item_id: u32 },
    ChoiceRequested { choice_id: u32, player: PlayerId },
    GameEnded { winner: Option<PlayerId>, reason: String },
}