public override void AjouteChemins(FabriqueAbstraite fabrique, params AccesAbstrait[] accesArray) { foreach (AccesAbstrait acces in accesArray) { AccesAbstraitsList.Add(acces); } }
public Fourmiliere(FabriqueAbstraite fabrique) : base(fabrique) { this.ObjectsList = new List <ObjetAbstrait>(); this.PersonnagesList = new List <PersonnageAbstrait>(); this.AccesAbstraitsList = new List <AccesAbstrait>(); this.ZonesAbstraitesList = new List <ZoneAbstraite>(); }
public override void AjouteChemins(FabriqueAbstraite fabrique, params AccesAbstrait[] accesArray) { foreach (var acces in accesArray) { AccesAbstraitsList.Add(fabrique.CreerAcces(acces.debut, acces.fin)); } }
public override void AjouteChemins(FabriqueAbstraite fabrique, params AccesAbstrait[] accesArray) { //foreach (var acces in accesArray) //{ // AccesAbstraitsList.Add(fabrique.CreerAcces(acces.debut, acces.fin)); //} this.AccesAbstraitsList.AddRange(accesArray); }
//---------------------------------------------------------------------- private void AjouteChemins(FabriqueAbstraite fabrique, params AccesAbstrait[] accesArray) { AccesAbstraitsList.AddRange(accesArray); foreach (var acces in accesArray) { AccesAbstrait accesInverse = fabrique.CreerAcces(acces.Fin, acces.Debut); AccesAbstraitsList.Add(accesInverse); } }
//---------------------------------------------------------------------- public void ChargerEnvironnement(FabriqueAbstraite fabrique) { ZoneAbstraite b1 = fabrique.CreerZone("b1-Depart"); ZoneAbstraite b2 = fabrique.CreerZone("b2"); ZoneAbstraite b3 = fabrique.CreerZone("b3"); ZoneAbstraite b4 = fabrique.CreerZone("b4"); ZoneAbstraite b5 = fabrique.CreerZone("b5"); AjouteZoneAbstraits(b1, b2, b3, b4, b5); AccesAbstrait ch1 = fabrique.CreerAcces(b1, b2); AccesAbstrait ch2 = fabrique.CreerAcces(b2, b3); AccesAbstrait ch3 = fabrique.CreerAcces(b3, b4); AccesAbstrait ch4 = fabrique.CreerAcces(b3, b5); AccesAbstrait ch5 = fabrique.CreerAcces(b1, b5); AccesAbstrait ch6 = fabrique.CreerAcces(b2, b4); AjouteChemins(fabrique, ch1, ch2, ch3, ch4, ch5, ch6); }
public override void ChargerObjets(FabriqueAbstraite fabrique) { ObjectsList.Add(fabrique.CreerObjet("oeuf")); }
/// <summary> /// Génère l'environnement selon les x et y saisis par l'utilisateur /// </summary> /// <param name="nbColonne"></param> /// <param name="nbLigne"></param> /// <param name="fabrique"></param> public override void GenereEnvironnement(int nbColonne, int nbLigne, FabriqueAbstraite fabrique) { var nbPersonnages = GenererPerso(nbColonne, nbLigne); var nbObjets = GenererObjets(nbColonne, nbLigne); var emplacementBase = GenererBase(nbColonne, nbLigne); //Génération des zones et accès for (var y = 1; y <= nbLigne; y++) { for (var x = 1; x <= nbColonne; x++) { if ((x == emplacementBase.Item1) && (y == emplacementBase.Item2)) { Fourmiliere = fabriqueAbstraite.CreerZone("Fourmiliere x: " + x + " y: " + y, x, y); AjouteZoneAbstraites(Fourmiliere); } else { AjouteZoneAbstraites(fabriqueAbstraite.CreerZone("Zone x: " + x + " y: " + y, x, y)); } if ((ZonesAbstraitesList.Count >= 2) && (x > 1)) { _zoneDebut = ZonesAbstraitesList[ZonesAbstraitesList.Count - 2]; _zoneFin = ZonesAbstraitesList[ZonesAbstraitesList.Count - 1]; _acces = fabriqueAbstraite.CreerAcces(_zoneDebut, _zoneFin); AjouteChemins(fabrique, _acces); } if ((ZonesAbstraitesList.Count - nbColonne) < 1) { continue; } _zoneDebut = ZonesAbstraitesList[ZonesAbstraitesList.Count - nbColonne - 1]; _zoneFin = ZonesAbstraitesList[ZonesAbstraitesList.Count - 1]; _acces = fabriqueAbstraite.CreerAcces(_zoneDebut, _zoneFin); AjouteChemins(fabrique, _acces); } } //Génération des personnages for (var indice = 0; indice < nbPersonnages; indice++) { var x = _random.Next(1, nbColonne + 1); var y = _random.Next(1, nbLigne + 1); var zone = ZonesAbstraitesList[((y - 1) * nbColonne + x - 1)]; var perso = fabriqueAbstraite.CreerPersonnage(indice < nbPersonnages / 2 ? "cueilleuse" : "combatante", Fourmiliere); zone.AjoutePersonnage(perso); AjoutePersonnage(perso); } //Génération des objets for (var indice = 0; indice < nbObjets; indice++) { var x = _random.Next(1, nbColonne + 1); var y = _random.Next(1, nbLigne + 1); var zone = ZonesAbstraitesList[((y - 1) * nbColonne + x - 1)]; var nourriture = fabriqueAbstraite.CreerObjet(indice < nbObjets / 2 ? "nourriture" : "oeuf"); zone.AjouteObjet(nourriture); AjouteObjet(nourriture); } //Génération d'un rapport GetRapportGeneration(nbPersonnages, nbObjets, ZonesAbstraitesList.Count, AccesAbstraitsList.Count); }
public abstract void ChargerPersonnages(FabriqueAbstraite fabrique);
public abstract void ChargerObjets(FabriqueAbstraite fabrique);
public abstract void ChargerEnvironnement(FabriqueAbstraite fabrique);
public abstract void AjouteChemins(FabriqueAbstraite fabrique, params AccesAbstrait[] accesArray);
public override void ChargerEnvironnement(FabriqueAbstraite fabrique) { fabrique.CreerEnvironnement(); }
public override void ChargerPersonnages(FabriqueAbstraite fabrique) { //PersonnagesList.Add(fabrique.CreerPersonnage("fourmi")); throw new NotImplementedException(); }
public override void ChargerEnvironnement(FabriqueAbstraite fabrique) { //fabrique.CreerEnvironnement(); throw new NotImplementedException(); }
public void ChargerPersonnages(FabriqueAbstraite fabrique) { AjoutePersonnage(fabrique.CreerPersonnage("jacques")); AjoutePersonnage(fabrique.CreerPersonnage("beatrice")); }
public override void ChargerPersonnages(FabriqueAbstraite fabrique) { throw new NotImplementedException(); }
public override void ChargerPersonnages(FabriqueAbstraite fabrique) { PersonnagesList.Add(fabrique.CreerPersonnage("fourmi")); }
public void AjouterFourmis() { fourmilliere.PersonnageAbstraitList.Add(new Ouvriere("Fourmis N°" + fourmilliere.PersonnageAbstraitList.Count, new Coordonnees(30, 30))); Fabrique = new FabriqueFourmiliere(); }
public override void AjouteChemins(FabriqueAbstraite fabrique, params AccesAbstrait[] accesArray) { throw new NotImplementedException(); }
public override void ChargerObjets(FabriqueAbstraite fabrique) { //ObjectsList.Add(fabrique.CreerObjet("oeuf")); throw new NotImplementedException(); }
public EnvironnementAbstrait(FabriqueAbstraite fabriqueAbstraite) { this.fabriqueAbstraite = fabriqueAbstraite; }
public Fourmiliere() : base() { fabriqueFourmiliere = new FabriqueFourmiliere(); }
public abstract void GenereEnvironnement(int nbColonne, int nbLigne, FabriqueAbstraite fabrique);