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>();
 }
Exemple #3
0
 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);
 }
Exemple #5
0
 //----------------------------------------------------------------------
 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);
     }
 }
Exemple #6
0
        //----------------------------------------------------------------------
        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);
        }
Exemple #7
0
 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);
        }
Exemple #9
0
 public abstract void ChargerPersonnages(FabriqueAbstraite fabrique);
Exemple #10
0
 public abstract void ChargerObjets(FabriqueAbstraite fabrique);
Exemple #11
0
 public abstract void ChargerEnvironnement(FabriqueAbstraite fabrique);
Exemple #12
0
 public abstract void AjouteChemins(FabriqueAbstraite fabrique, params AccesAbstrait[] accesArray);
Exemple #13
0
 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();
 }
Exemple #16
0
 public void ChargerPersonnages(FabriqueAbstraite fabrique)
 {
     AjoutePersonnage(fabrique.CreerPersonnage("jacques"));
     AjoutePersonnage(fabrique.CreerPersonnage("beatrice"));
 }
 public override void ChargerPersonnages(FabriqueAbstraite fabrique)
 {
     throw new NotImplementedException();
 }
Exemple #18
0
 public override void ChargerPersonnages(FabriqueAbstraite fabrique)
 {
     PersonnagesList.Add(fabrique.CreerPersonnage("fourmi"));
 }
Exemple #19
0
 public void AjouterFourmis()
 {
     fourmilliere.PersonnageAbstraitList.Add(new Ouvriere("Fourmis N°" + fourmilliere.PersonnageAbstraitList.Count, new Coordonnees(30, 30)));
     Fabrique = new FabriqueFourmiliere();
 }
Exemple #20
0
 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;
 }
Exemple #23
0
 public Fourmiliere() : base()
 {
     fabriqueFourmiliere = new FabriqueFourmiliere();
 }
 public abstract void GenereEnvironnement(int nbColonne, int nbLigne, FabriqueAbstraite fabrique);