From 4b594d031216b8cb2ff3979a1359ae48e9a4032d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois?= Date: Sun, 17 Mar 2024 00:53:19 +0100 Subject: [PATCH] only in CI Co-Authored-By: Rob Parrett --- examples/games/alien_cake_addict.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/examples/games/alien_cake_addict.rs b/examples/games/alien_cake_addict.rs index cd933d38ffabb..a1571310fb533 100644 --- a/examples/games/alien_cake_addict.rs +++ b/examples/games/alien_cake_addict.rs @@ -82,7 +82,7 @@ struct Game { } #[derive(Resource, Deref, DerefMut)] -struct SeededRng(StdRng); +struct Random(StdRng); const BOARD_SIZE_I: usize = 14; const BOARD_SIZE_J: usize = 21; @@ -108,7 +108,12 @@ fn setup_cameras(mut commands: Commands, mut game: ResMut) { } fn setup(mut commands: Commands, asset_server: Res, mut game: ResMut) { - let mut seeded_rng = StdRng::seed_from_u64(19878367467713); + let mut rng = if std::env::var("GITHUB_ACTIONS") == Ok("true".to_string()) { + // Make the game play out the same way every time, this is useful for testing purposes. + StdRng::seed_from_u64(19878367467713) + } else { + StdRng::from_entropy() + }; // reset the game state game.cake_eaten = 0; @@ -134,7 +139,7 @@ fn setup(mut commands: Commands, asset_server: Res, mut game: ResMu .map(|j| { (0..BOARD_SIZE_I) .map(|i| { - let height = seeded_rng.gen_range(-0.1..0.1); + let height = rng.gen_range(-0.1..0.1); commands.spawn(SceneBundle { transform: Transform::from_xyz(i as f32, height - 0.2, j as f32), scene: cell_scene.clone(), @@ -186,7 +191,7 @@ fn setup(mut commands: Commands, asset_server: Res, mut game: ResMu }), ); - commands.insert_resource(SeededRng(seeded_rng)); + commands.insert_resource(Random(rng)); } // remove all entities that are not a camera or window @@ -312,7 +317,7 @@ fn spawn_bonus( mut next_state: ResMut>, mut commands: Commands, mut game: ResMut, - mut rng: ResMut, + mut rng: ResMut, ) { // make sure we wait enough time before spawning the next cake if !timer.0.tick(time.delta()).finished() {