예제 #1
0
        public override void Refresh()
        {
            Application.Current.Dispatcher.Invoke(() => {
                IEnumerator <TextBlock> iterateurTextblock = grilleDynamique.Children.OfType <TextBlock>().GetEnumerator();

                foreach (Parcelle uneCase in simulation.Zones.Cast <Parcelle>())
                {
                    iterateurTextblock.MoveNext();
                    Objet objet = uneCase.PrendreObjet();

                    string marque = " ";
                    if (objet is Pheromone)
                    {
                        marque = "-";
                    }

                    if (uneCase.Occupant != null)
                    {
                        EtatFourmi etatCellule = (uneCase.Occupant as Fourmi).Etat;
                        if (etatCellule == EtatDehors.GetInstance)
                        {
                            marque = "∞";
                        }
                    }

                    if (objet is Fourmiliere)
                    {
                        marque = "ʍ";
                    }
                    if (objet is Objectif)
                    {
                        marque = "O";
                    }

                    TextBlock textblock = iterateurTextblock.Current;
                    textblock.Text      = marque;
                    Console.Write(marque);

                    if (Grid.GetColumn(textblock) == longueurLigne - 1)
                    {
                        Console.WriteLine("");
                    }
                }
            });
        }
예제 #2
0
 public void RetirerObjet()
 {
     objet = null;
 }
예제 #3
0
 public void AjouterObjet(Objet unObjet)
 {
     objet = unObjet;
     simulateur.AjouterObjet(objet);
 }
예제 #4
0
 public void AjouterObjet(Objet unObjet)
 {
     Objets.Add(unObjet);
     etatMajor.EnregistrerObservateur(unObjet);
 }