Exemple #1
0
 private void DeplacerPersonnage(PersonnageAbstrait unPersonnage, ZoneAbstraite zoneAbstraiteCible,
                                 ZoneAbstraite zoneAbstraiteSource)
 {
     unPersonnage.Position = zoneAbstraiteCible;
     zoneAbstraiteSource.RetirePersonnage(unPersonnage);
     zoneAbstraiteCible.AjoutePersonnage(unPersonnage);
 }
Exemple #2
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 #3
0
        public string Simuler()
        {
            StringBuilder sb = new StringBuilder();

            foreach (PersonnageAbstrait unPersonnage in PersonnagesList)
            {
                ZoneAbstraite zoneAbstraiteSource = unPersonnage.Position;

                var accesList = zoneAbstraiteSource.AccesAbstraitList;
                if (accesList.Count > 0)
                {
                    ZoneAbstraite zoneAbstraiteCible = unPersonnage.ChoixZoneSuivante(accesList);

                    DeplacerPersonnage(unPersonnage, zoneAbstraiteSource, zoneAbstraiteCible);
                    sb.AppendFormat("{0} : {1} --> {2}\n", unPersonnage.Nom, zoneAbstraiteSource.Nom,
                                    zoneAbstraiteCible.Nom);
                }
                else
                {
                    sb.AppendFormat("{0} : dans cul de sac\n", unPersonnage.Nom);
                }
            }
            return(sb.ToString());
        }
 public abstract void DeplacerPersonnage(PersonnageAbstrait personnage, ZoneAbstraite zoneSource, ZoneAbstraite zoneDestination);
 protected AccesAbstrait(ZoneAbstraite debut, ZoneAbstraite fin)
 {
 }