public override PersonnageAbstrait creerPersonnage(string nom, int typeFourmi, ZoneAbstraite zoneFourmiliere, EnvironnementAbstrait env) { id++; switch (typeFourmi) { case (int)FourmiliereConstante.typeFourmie.fourmiOuvriere: { FourmiOuvriere f = new FourmiOuvriere(nom, zoneFourmiliere, id, env); env.ZoneAbstraiteList[zoneFourmiliere.coordonnes.x].zoneAbstraiteList[zoneFourmiliere.coordonnes.y].AjoutePersonnage(f); return(f); } case (int)FourmiliereConstante.typeFourmie.fourmiGuerriere: { FourmiGuerriere f = new FourmiGuerriere(nom, zoneFourmiliere, id, env); env.ZoneAbstraiteList[zoneFourmiliere.coordonnes.x].zoneAbstraiteList[zoneFourmiliere.coordonnes.y].AjoutePersonnage(f); return(f); } case (int)FourmiliereConstante.typeFourmie.oeufFourmiOuvriere: { Oeuf f = new Oeuf(nom, zoneFourmiliere, id, (int)FourmiliereConstante.typeFourmie.fourmiOuvriere); env.ZoneAbstraiteList[zoneFourmiliere.coordonnes.x].zoneAbstraiteList[zoneFourmiliere.coordonnes.y].AjoutePersonnage(f); return(f); } case (int)FourmiliereConstante.typeFourmie.oeufFourmiGuerriere: { Oeuf f = new Oeuf(nom, zoneFourmiliere, id, (int)FourmiliereConstante.typeFourmie.fourmiGuerriere); env.ZoneAbstraiteList[zoneFourmiliere.coordonnes.x].zoneAbstraiteList[zoneFourmiliere.coordonnes.y].AjoutePersonnage(f); return(f); } case (int)FourmiliereConstante.typeFourmie.oeufFourmiChaman: { Oeuf f = new Oeuf(nom, zoneFourmiliere, id, (int)FourmiliereConstante.typeFourmie.fourmiChaman); env.ZoneAbstraiteList[zoneFourmiliere.coordonnes.x].zoneAbstraiteList[zoneFourmiliere.coordonnes.y].AjoutePersonnage(f); return(f); } case (int)FourmiliereConstante.typeFourmie.fourmiReine: { FourmiReine f = new FourmiReine(nom, zoneFourmiliere, id, env); zoneFourmiliere.AjoutePersonnage(f); env.ZoneAbstraiteList[zoneFourmiliere.coordonnes.x].zoneAbstraiteList[zoneFourmiliere.coordonnes.y].AjoutePersonnage(f); return(f); } case (int)FourmiliereConstante.typeFourmie.fourmiChaman: { FourmiChaman f = new FourmiChaman(nom, zoneFourmiliere, id, env); env.ZoneAbstraiteList[zoneFourmiliere.coordonnes.x].zoneAbstraiteList[zoneFourmiliere.coordonnes.y].AjoutePersonnage(f); return(f); } default: return(null); } }
public void PondreOeuf() { FabriqueFourmiliere fabrique = new FabriqueFourmiliere(); CoordonneesAbstrait pos = new Coordonnees(); pos.X = Position.X + Fourmiliere.Hazard.Next(-1, 2); pos.Y = Position.Y + Fourmiliere.Hazard.Next(-1, 2); oeufPondu = (Oeuf)fabrique.CreerOeuf(String.Format("Oeuf N° {0}", zone.ObjetList.Where(x => x.GetType().Equals(typeof(Oeuf))).Count()), pos); AjouterEtape(0, String.Format("Je pond un oeuf en X={0}, Y={1}", pos.X, pos.Y), Position.X, Position.Y); }
public override List <Evenement> executer(PersonnageAbstrait personnage, EnvironnementAbstrait env) { FabriqueAbstraite fabriqueFourmiliere = new FabriqueFourmiliere(); List <Evenement> evenements = new List <Evenement>(); if (personnage.GetType() == typeof(Oeuf)) { Oeuf oeuf = (Oeuf)personnage; oeuf.timer--; if (oeuf.timer == 0) { evenements.Add(new Evenement(personnage, (int)FourmiliereConstante.typeEvenement.eclore)); oeuf.pointDeVie = 0; } } return(evenements); }