Stubbing out set game resources/data structures

main
Elijah Voigt 2 years ago
parent 1808f8ee04
commit 44c83563a5

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -38,6 +38,7 @@
cargo-expand
nixpkgs-fmt
cmake
rx
] ++ buildInputs ++ nativeBuildInputs;
in
rec {

@ -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…
Cancel
Save