Files
RustyPropagation/src/disease.rs
T
2022-05-03 15:45:37 +02:00

42 lines
1.3 KiB
Rust

// use crate::prelude::*;
// pub const MUTATION_TRAIT_INCREASE_PROBABILITY:i32 = 50;
// pub const MUTATION_TRAIT_CHANGE_AMOUNT:i32 = 20;
// #[derive(Debug)]
pub struct Disease {
pub infection_rate: u32,
pub curing_rate: u32,
pub death_rate: u32,
pub traits: Vec<u32>,
pub name: String,
}
impl Disease {
pub fn new(infection_r: u32, curing_r: u32, death_r: u32, the_name: String) -> Self {
Self {
infection_rate: infection_r,
curing_rate: curing_r,
death_rate: death_r,
name: the_name,
traits: vec![infection_r, curing_r, death_r],
}
}
// pub fn mutate(&mut self){
// let mut rng = rand::thread_rng();
// for i in 0..self.traits.len(){
// let mut new_ratio:i32 = self.traits[i] as i32;
// if rng.gen_range(0..CORRECTED_PERCENTAGE) >= MUTATION_TRAIT_INCREASE_PROBABILITY{
// new_ratio += MUTATION_TRAIT_CHANGE_AMOUNT;
// }else{
// new_ratio -= MUTATION_TRAIT_CHANGE_AMOUNT;
// }
// if new_ratio < 0{
// new_ratio = 0;
// }
// new_ratio = new_ratio % CORRECTED_PERCENTAGE;
// self.traits[i] = new_ratio as u32;
// }
// }
}