From b84cf4b47124a52ab032cdff3009dce0205639ed Mon Sep 17 00:00:00 2001 From: _Corentin_ Date: Tue, 23 May 2023 12:22:59 +0200 Subject: [PATCH] decalage de la map --- src/map.rs | 60 +++++++++++++++++++++++++++++------------------------- 1 file changed, 32 insertions(+), 28 deletions(-) diff --git a/src/map.rs b/src/map.rs index bb4c5b7..1f28804 100644 --- a/src/map.rs +++ b/src/map.rs @@ -75,7 +75,8 @@ pub enum Tile { Wall, } -/// 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, @@ -85,41 +86,44 @@ pub fn init_map( ) { for y in 0..longueur { for x in 0..largeur { - let mut curent_type = Tile::Grass; - let mut curent_id = None; - if x == 1 && y == 4 { - curent_type = Tile::Castle; - curent_id = Some(id_joueur1); - } else if x == longueur && y == 4 { - curent_type = Tile::Castle; - curent_id = Some(id_joueur2); + if y % 2 != 0 && x == longueur { } else { - match (x, y) { - (0, 5) | (1, 5) | (2, 4) | (1, 3) | (0, 3) => { - curent_type = Tile::Grass; - curent_id = Some(id_joueur1) - } + let mut curent_type = Tile::Grass; + let mut curent_id = None; + if x == 1 && y == 4 { + curent_type = Tile::Castle; + curent_id = Some(id_joueur1); + } else if x == longueur && y == 4 { + curent_type = Tile::Castle; + curent_id = Some(id_joueur2); + } else { + match (x, y) { + (0, 5) | (1, 5) | (2, 4) | (1, 3) | (0, 3) => { + curent_type = Tile::Grass; + curent_id = Some(id_joueur1) + } - (9, 5) | (8, 5) | (8, 4) | (9, 3) | (8, 3) => { - curent_type = Tile::Grass; - curent_id = Some(id_joueur2) - } + (9, 5) | (8, 5) | (8, 4) | (9, 3) | (8, 3) => { + curent_type = Tile::Grass; + curent_id = Some(id_joueur2) + } - _ => { - if rand::random() { + _ => { if rand::random() { - curent_type = Tile::Forest - } else { - curent_type = Tile::Hill + if rand::random() { + curent_type = Tile::Forest + } else { + curent_type = Tile::Hill + } } } } } - } - if let Some(id) = curent_id { - commands.spawn((curent_type, id, Position { x, y })); - } else { - commands.spawn((curent_type, Position { x, y })); + if let Some(id) = curent_id { + commands.spawn((curent_type, id, Position { x, y })); + } else { + commands.spawn((curent_type, Position { x, y })); + } } } }