Stubbing out set game resources/data structures
parent
1808f8ee04
commit
44c83563a5
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
@ -1,9 +1,84 @@
|
|||||||
use bevy::prelude::*;
|
use bevy::{prelude::*, utils::HashMap};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
App::new().add_plugins(DefaultPlugins).run();
|
App::new()
|
||||||
|
.add_systems(Startup, startup)
|
||||||
|
.add_plugins(DefaultPlugins)
|
||||||
|
.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn hello_world_system() {
|
fn startup(mut commands: Commands, server: Res<AssetServer>) {
|
||||||
println!("hello world");
|
let sprite = Sprite {
|
||||||
|
image: server.load("red_oval_open_one.png"),
|
||||||
|
..default()
|
||||||
|
};
|
||||||
|
let mut cards = HashMap::new();
|
||||||
|
let card = Card {
|
||||||
|
color: ItemColor::Red,
|
||||||
|
shape: ItemShape::Oval,
|
||||||
|
pattern: ItemPattern::Open,
|
||||||
|
number: ItemNumber::One,
|
||||||
|
};
|
||||||
|
cards.insert(card, sprite);
|
||||||
|
// [ItemColor::Red, ItemColor::Green, ItemColor::Purple]
|
||||||
|
// .iter()
|
||||||
|
// .for_each(|c| {
|
||||||
|
// [ItemNumber::One, ItemNumber::Two, ItemNumber::Three]
|
||||||
|
// .iter()
|
||||||
|
// .for_each(|n| {
|
||||||
|
// [ItemPattern::Solid, ItemPattern::Striped, ItemPattern::Open]
|
||||||
|
// .iter()
|
||||||
|
// .for_each(|p| {
|
||||||
|
// [ItemShape::Oval, ItemShape::Diamond, ItemShape::Squiggle]
|
||||||
|
// .iter()
|
||||||
|
// .for_each(|s| {
|
||||||
|
// cards.insert((*c, *s, *p, *n), sprite.clone());
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
// });
|
||||||
|
let test_deck = Deck { cards };
|
||||||
|
commands.insert_resource(test_deck);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 81 cards total
|
||||||
|
#[derive(Resource)]
|
||||||
|
struct Deck {
|
||||||
|
cards: HashMap<Card, Sprite>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(PartialEq, Eq, Hash, Clone, Copy)]
|
||||||
|
struct Card {
|
||||||
|
color: ItemColor,
|
||||||
|
number: ItemNumber,
|
||||||
|
pattern: ItemPattern,
|
||||||
|
shape: ItemShape,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(PartialEq, Eq, Hash, Clone, Copy)]
|
||||||
|
enum ItemColor {
|
||||||
|
Red,
|
||||||
|
Green,
|
||||||
|
Purple,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(PartialEq, Eq, Hash, Clone, Copy)]
|
||||||
|
enum ItemNumber {
|
||||||
|
One,
|
||||||
|
Two,
|
||||||
|
Three,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(PartialEq, Eq, Hash, Clone, Copy)]
|
||||||
|
enum ItemPattern {
|
||||||
|
Solid,
|
||||||
|
Striped,
|
||||||
|
Open,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(PartialEq, Eq, Hash, Clone, Copy)]
|
||||||
|
enum ItemShape {
|
||||||
|
Oval,
|
||||||
|
Diamond,
|
||||||
|
Squiggle,
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue