Files
audiopoker/src/core/logic/card.rs
T
2026-07-23 09:09:59 +02:00

34 lines
663 B
Rust

use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum Suit {
Spades,
Hearts,
Diamonds,
Clubs,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct Rank(pub u8); // 2-14 (11=J, 12=Q, 13=K, 14=A)
impl Rank {
pub fn new(value: u8) -> Self {
Self(value)
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub struct Card {
pub suit: Suit,
pub rank: Rank,
}
impl Card {
pub fn new(suit: Suit, rank_val: u8) -> Self {
Self {
suit,
rank: Rank::new(rank_val),
}
}
}