nouvelle fonction
This commit is contained in:
parent
fd19c77a6a
commit
789a7ab223
31
src/map.rs
31
src/map.rs
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
use crate::Position;
|
use crate::Position;
|
||||||
use bevy::prelude::{Commands, Component};
|
use bevy::prelude::{Commands, Component};
|
||||||
|
use rand::Rng;
|
||||||
|
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Component)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Component)]
|
||||||
/// Une case sur la carte du jeu.
|
/// Une case sur la carte du jeu.
|
||||||
|
@ -75,28 +76,22 @@ pub enum Tile {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Permet de crée des entité representant les cases d'une map, sur une longueur et langueur donné.
|
/// Permet de crée des entité representant les cases d'une map, sur une longueur et langueur donné.
|
||||||
/// Donner une longueur impaire.
|
|
||||||
pub fn init_map(longueur: u8, largeur: u8, mut commands: Commands) {
|
pub fn init_map(longueur: u8, largeur: u8, mut commands: Commands) {
|
||||||
(0..longueur)
|
for x in 0..longueur {
|
||||||
.flat_map(|y| {
|
for y in 0..largeur {
|
||||||
(0..largeur)
|
if !(x % 2 == 0 && y == longueur - 1) {
|
||||||
.filter(move |&x| !(y % 2 == 0 && x == largeur - 1))
|
commands.spawn((generate_random_tile_for_map(), Position { x, y }));
|
||||||
.map(move |x| (x, y))
|
}
|
||||||
})
|
}
|
||||||
.for_each(|(x, y)| {
|
}
|
||||||
commands.spawn((generate_random_tile_for_map(), Position { x, y }));
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Cette fonction return un ellement aleatoir entre de la Grass Hill et Forest
|
/// Cette fonction return un ellement aleatoir entre de la Grass Hill et Forest
|
||||||
fn generate_random_tile_for_map() -> Tile {
|
fn generate_random_tile_for_map() -> Tile {
|
||||||
if rand::random() {
|
let mut rng = rand::thread_rng();
|
||||||
if rand::random() {
|
match rng.gen_range(1..=4) {
|
||||||
Tile::Forest
|
1 => Tile::Forest,
|
||||||
} else {
|
2 => Tile::Hill,
|
||||||
Tile::Hill
|
_ => Tile::Grass,
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Tile::Grass
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue