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() {
|
||||
App::new().add_plugins(DefaultPlugins).run();
|
||||
App::new()
|
||||
.add_systems(Startup, startup)
|
||||
.add_plugins(DefaultPlugins)
|
||||
.run();
|
||||
}
|
||||
|
||||
fn hello_world_system() {
|
||||
println!("hello world");
|
||||
fn startup(mut commands: Commands, server: Res<AssetServer>) {
|
||||
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