diff --git a/src/ai.rs b/src/ai.rs new file mode 100644 index 0000000..9a66638 --- /dev/null +++ b/src/ai.rs @@ -0,0 +1,50 @@ +use crate::prelude::*; + +pub(crate) struct AiPlugin; + +impl Plugin for AiPlugin { + fn build(&self, app: &mut App) { + app.init_state::() + // Bogo AI Systems + .add_systems(Update, + bogo_ai.run_if(in_state(PlayState::AiBogo)) + ); + } +} + +#[derive(Debug, States, Hash, Default, PartialEq, Eq, Clone)] +enum PlayState { + #[default] + Human, + AiBogo, +} + +// Bogo AI logic +fn bogo_ai( + mut board: ResMut, + mut move_events: EventWriter, + time: Res