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 override void DeplacerPersonnage(PersonnageAbstrait personnage, ZoneAbstraite zoneSource, ZoneAbstraite zoneDestination) { //On retire le personnage de l'emplacement ou il se trouve zoneSource.RetirePersonnage(personnage); //On ajoute le personnage a sa nouvelle zone zoneDestination.AjoutePersonnage(personnage); }