Merge branch '11-faire-la-les-structure-s-pour-stocker-la-map' into 'main'

Resolve "Faire la/les structure(s) pour stocker la map"

Closes #11

See merge request CoCo_Sol/border-wars!2
This commit is contained in:
CoCo_Sol 2023-05-22 22:21:04 +02:00
commit dfe44620a6
4 changed files with 91 additions and 2 deletions

1
Cargo.lock generated
View file

@ -1024,6 +1024,7 @@ name = "border-wars"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"bevy", "bevy",
"slotmap",
] ]
[[package]] [[package]]

View file

@ -5,3 +5,4 @@ edition = "2021"
[dependencies] [dependencies]
bevy = "0.10.1" bevy = "0.10.1"
slotmap = "1.0.6"

View file

@ -1,4 +1,4 @@
//! Contient les fonctions utilisées dans le jeu. //! Contient les structures de données permettant le bon fonctionnement du jeu.
#![deny(clippy::missing_docs_in_private_items)] #![deny(clippy::missing_docs_in_private_items)]
#![deny(clippy::unwrap_in_result)] #![deny(clippy::unwrap_in_result)]
@ -8,4 +8,19 @@
#![deny(clippy::all)] #![deny(clippy::all)]
#![deny(warnings)] #![deny(warnings)]
// TODO pub mod map;
/// Position d'un object sur la carte du jeu.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct Position {
/// La position en x.
pub x: u8,
/// La position en y.
pub y: u8,
}
slotmap::new_key_type! {
/// Peut être utiliser pour identifier n'importe quel objet appartenant a un joueur (le joueur compris).
pub struct PlayerId;
}

72
src/map.rs Normal file
View file

@ -0,0 +1,72 @@
//! Contiens tous ce qui est relatif à la carte du jeu.
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
/// Une case sur la carte du jeu.
pub enum Tile {
/// Un chateau.
///
/// C'est la base du joueur qui doit defendre. Le but des autres joueurs est de la détruire pour gagner la partie.
Castle,
/// De l'herbe.
///
/// Un case "vide" ou on peux construire et y deplacer des troupes
Grass,
/// Une forêt.
///
/// Une case permettant de récupérer rapidement du bois.
/// Elle permet aussi de cacher des troupes a l'interieur.
Forest,
/// Une montagne.
///
/// Une case permettant de récupérer rapidement de la p
Hill,
/// Une ferme.
///
/// Permet de produire du bois.
/// Le nombre de bois généré peut être amélioré à l'aide d'un [Tile::Upgrader].
Lumberjack,
/// Une mine.
///
/// Permet de produire de la pierre.
/// Le nombre de pierre généré peut être amélioré à l'aide d'un [Tile::Upgrader].
Mine,
/// Une ferme.
///
/// Permet de produire de la nourriture.
/// Le nombre de nourriture généré peut être amélioré à l'aide d'un [Tile::Upgrader].
Farm,
/// Un avant poste.
///
/// Permet de déplacer les troupes plus rapidement en les faisant aller d'un avant poste a l'autre comme un portail de téléportation.
Outpost,
/// Un caserne.
///
/// Permet de faire apparaitre de nouvelles troupes.
/// Le cout des troupes peut être réduis a l'aide d'un [Tile::Upgrader].
Barrack,
/// Une tower.
///
/// Permet de deffendre le territoire des assauts enemie.
/// Elle ajoute des dégats au troupes dans un certain rayon.
/// Ce rayon peut être amélioré a l'aide d'un [Tile::Upgrader].
Tower,
/// Un ameliorateur.
///
/// Permet d'améliorer les performances des batiments adjacents.
Upgrader,
/// Un mur.
///
/// Permet de bloquer le passage des troupes.
Wall,
}