/** * Regle 0 * * @param * @return Un citoyen contaminé augmente de 1%, de son niveau de contamination, celui du lieu sur * lequel il est situé */ public static void regle0(AbstractCase lieuActuel, AbstractPerson p) { if (!(lieuActuel instanceof Caserne)) { double niveauContaminationLieu = lieuActuel.getNiveauContamination(); double total = niveauContaminationLieu + 0.01 * p.getNiveauContamination(); lieuActuel.setNiveauContamination(total); } }
/** * Regle 4 * * @param * @return Un citoyen en se deÃÅplacÃßant voit son niveau de contamination augmenter seulement de * 2% du niveau de contamination du lieu sur lequel il arrive et de 5% s'il reste sur la * meÃÇme case. */ public static void regle4(AbstractPerson p, AbstractCase cDest, boolean deplacee) { double niveauContaminationPersonne = p.getNiveauContamination(); double niveauContaminationLieu = cDest.getNiveauContamination(); if (deplacee) { /// 2% double deuxPourcentsDuLieu = 0.02 * niveauContaminationLieu; double result = ProbabilityManager.augmentation(niveauContaminationPersonne, deuxPourcentsDuLieu); p.setNiveauContamination(result); } else { /// 5% double cinqPourcentsDuLieu = 0.05 * niveauContaminationLieu; double result = ProbabilityManager.augmentation(niveauContaminationPersonne, cinqPourcentsDuLieu); p.setNiveauContamination(result); } }
/** * Regle 5 * * @param * @return Un citoyen en se déplaçant voit son niveau de contamination augmenter seulement de 2% * du niveau de contamination du lieu sur lequel il arrive et de 5% s'il reste sur la même * case. Un citoyen contaminé augmente de 1%, de son niveau de contamination, celui du lieu * sur lequel il est situé (une caserne à un niveau de contamination toujours nulle et un * hôpital ne répercute que 1⁄4 de l'augmentation grâce aux conditions d'hygiène * élevées). */ public static void regle5(AbstractCase lieuActuel, AbstractPerson p) { double niveauContaminationPersonne = p.getNiveauContamination(); double niveauContaminationLieu = lieuActuel.getNiveauContamination(); double unPourcentDuLieu = 0.01 * niveauContaminationLieu; double result = ProbabilityManager.augmentation(niveauContaminationPersonne, unPourcentDuLieu); ; if (p instanceof Pompier) { result /= 10.0; } if (lieuActuel instanceof Caserne) { /// ba ... rien return; } else if (lieuActuel instanceof Hospital) { result *= (1 / 4); } p.setNiveauContamination(result); }