en un fichier

This commit is contained in:
CoCo_Sol 2023-05-22 13:33:38 +02:00
parent 03a3870e70
commit 788fe413ef
3 changed files with 70 additions and 67 deletions

View file

@ -1,4 +1,12 @@
//! Stockage des données des blocks (fonction, enum et struct).
//! Stockage des données des blocks.
#![deny(clippy::missing_docs_in_private_items)]
#![deny(clippy::unwrap_in_result)]
#![deny(clippy::unwrap_used)]
#![deny(clippy::nursery)]
#![deny(missing_docs)]
#![deny(clippy::all)]
#![deny(warnings)]
use bevy::prelude::*;
@ -107,3 +115,64 @@ impl BlockType {
}
}
}
#[derive(Component)]
/// Position du block.
pub struct BlockPosition {
/// La position en x.
pub x: u8,
/// La position en y.
pub y: u8,
}
impl BlockPosition {
/// Retourne la position en x et y dans la map en foction de la position abstraite.
pub fn to_transform(&self, identity: Identity) -> Transform {
let max_y: u8 = 9;
let max_x = 10.;
let new_y = max_y - 1 - self.y;
let offset_x = new_y % 2;
let mut new_x = (offset_x as f32).mul_add(0.5, self.x as f32);
if identity == Identity::Joueur2 {
new_x = max_x - new_x;
};
Transform::from_xyz(new_x, new_y as f32 * 0.42, self.y as f32)
.with_scale(Vec3::splat(1.0 / 185.0))
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Component)]
/// Permet de donné un idée a un joueur ou un block pour lui donné une identité.
pub struct Id {
/// L'Id du joueur ou du component
id: u32,
}
impl Id {
/// Permet de verifier l'Id du joueur avec une Id donné
pub fn verifi_id(&self, id_a_verifie: &Id) -> bool {
if self.id == id_a_verifie.id {
true
} else {
false
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Component)]
/// Permet de donné la posetion d'un block au joueur dans le jeu.
pub enum BlockApartenance {
/// Represente le joueur 1.
Joueur1,
/// Represente le joueur 2.
Joueur2,
/// Represente les blocks neutres.
Neutre,
}

View file

@ -1,34 +0,0 @@
//! Stockage des données des identity (fonction, enum et struct).
use bevy::prelude::*;
#[derive(Debug, Clone, Copy, PartialEq, Eq, Component)]
/// Permet de donné un idée a un joueur ou un block pour lui donné une identité.
pub struct Id {
/// L'Id du joueur ou du component
id: u32,
}
impl Id {
/// Permet de verifier l'Id du joueur avec une Id donné
pub fn verifi_id(&self, id_a_verifie: &Id) -> bool {
if self.id == id_a_verifie.id {
true
} else {
false
}
}
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Component)]
/// Permet de donné la posetion d'un block au joueur dans le jeu.
pub enum BlockApartenance {
/// Represente le joueur 1.
Joueur1,
/// Represente le joueur 2.
Joueur2,
/// Represente les blocks neutres.
Neutre,
}

View file

@ -1,32 +0,0 @@
//! Stockage des données des position (fonction, enum et struct).
use bevy::prelude::*;
use map::identity::*;
#[derive(Component)]
/// Position du block.
pub struct BlockPosition {
/// La position en x.
pub x: u8,
/// La position en y.
pub y: u8,
}
impl BlockPosition {
/// Retourne la position en x et y dans la map en foction de la position abstraite.
pub fn to_transform(&self, identity: Identity) -> Transform {
let max_y: u8 = 9;
let max_x = 10.;
let new_y = max_y - 1 - self.y;
let offset_x = new_y % 2;
let mut new_x = (offset_x as f32).mul_add(0.5, self.x as f32);
if identity == Identity::Joueur2 {
new_x = max_x - new_x;
};
Transform::from_xyz(new_x, new_y as f32 * 0.42, self.y as f32)
.with_scale(Vec3::splat(1.0 / 185.0))
}
}