Create a design complexity document
This commit is contained in:
parent
d7a5c5275a
commit
7e21d9b274
2 changed files with 46 additions and 0 deletions
45
src/design_complexity.rs
Normal file
45
src/design_complexity.rs
Normal file
|
@ -0,0 +1,45 @@
|
|||
//! # Design/Program complexity
|
||||
//!
|
||||
//! - We use the [`heapless::Vec`] array type to store a fixed number of
|
||||
//! [`ActionCard`]s for the player in the [`Player`]
|
||||
//! type
|
||||
//! - We use the [`heapless::Vec`] array type to store a fixed number of
|
||||
//! [`Player`]s in the [`SituationTable`] type
|
||||
//!
|
||||
//! - We're going to use a separate program to design and create a file for the
|
||||
//! [`ActionCard`]s and the [`SituationCard`]s, which will be loaded when the game
|
||||
//! begins.
|
||||
//!
|
||||
//! - Our loops are going to be managed by [`bevy`]'s [`ecs`].
|
||||
//!
|
||||
//! - The [`ecs`] is going to be managing our objects as data records
|
||||
//! - Every object marked with [`Resource`] or [`Component`] can be
|
||||
//! a record stored by the engine
|
||||
//!
|
||||
//! - We're going to need to search for [`ActionCard`]s and [`SituationCard`]s in an
|
||||
//! array that we load from a file in order to be able to use them.
|
||||
//! - [`ActionCard`]s specifically will also have an associated [`CardType`] which will
|
||||
//! need to be taken into account during the search
|
||||
//!
|
||||
//! - Selection statements such as `match` will be used all over our codebase to
|
||||
//! select things based on associated data such as [`Position`]s
|
||||
//!
|
||||
//! - We're going to sort the [`ActionCard`]s in the [`Player`]s hand by it's influence
|
||||
//! cost
|
||||
//!
|
||||
//! - User defined methods are everywhere in this codebase, most of which interact with
|
||||
//! the [`ecs`]
|
||||
//!
|
||||
//! - User defined objects are also everywhere, and will be used to build the
|
||||
//! [`Component`]s and [`Resource`]s the game will need to exist
|
||||
|
||||
#![allow(unused_imports)]
|
||||
|
||||
use crate::cards::ActionCard;
|
||||
use crate::cards::CardType;
|
||||
use crate::cards::SituationCard;
|
||||
use crate::player::Player;
|
||||
use crate::player::Position;
|
||||
use crate::rooms::SituationTable;
|
||||
use bevy::ecs;
|
||||
use bevy::prelude::{Component, Resource};
|
|
@ -8,6 +8,7 @@ use bevy_asset_loader::loading_state::{
|
|||
use tracing_subscriber::EnvFilter;
|
||||
|
||||
mod cards;
|
||||
mod design_complexity;
|
||||
mod logo;
|
||||
mod menu;
|
||||
mod networking;
|
||||
|
|
Loading…
Reference in a new issue