Worked on objectives

This commit is contained in:
Lukas Wölfer
2025-07-26 00:47:46 +02:00
parent aafb40888d
commit 2aad864b58

View File

@@ -22,6 +22,7 @@ enum CardField {
}
#[derive(Debug)]
// There are 60 cards in the base set
struct Card {
field: [CardField; 5],
}
@@ -37,9 +38,27 @@ struct Player {
struct Board {
players: Vec<Player>,
shop: Shop,
objectives: [Objective; 4],
objectives: [CriteriaCard; 4],
}
#[derive(Debug)]
struct Objective {}
struct CriteriaCard {
objective: Objective,
// Points depending on how often the criteria was met
points: Vec<u8>,
}
// There are 12 objectives/criteria in the base set
#[derive(Debug)]
enum Objective {
AllFields,
IconsUsed(Vec<Icon>),
/// The count of all icons in the vec `.0` combined is exactly `.1`
ExactlyNIcons((Vec<Icon>, u8)),
Neighbors(Vec<(Icon, Icon)>),
/// Both icons are on one card, but not adjacent
DistantNeighbors(Vec<(Icon, Icon)>),
NInARow(Icon, u8),
}
fn main() {}