public Simulateur CréerSimulateur() { Simulateur unSimulateur = new Simulateur(); DonnéesInitialeSimulateurs donnéesXML = DonnéesXML.Réccupérer(); Random rand = new Random(); int longueur = donnéesXML.Fourmiliere.Carte.Longeur; int largeur = donnéesXML.Fourmiliere.Carte.Largeur; int i; Parcelle[,] parcelles = new Parcelle[longueur, largeur]; for (i = 0; i < longueur; i++) { for (int j = 0; j < largeur; j++) { parcelles[i, j] = new Parcelle(unSimulateur); unSimulateur.AjouterZone(parcelles[i, j]); if (i > 0) { unSimulateur.AjouterAccès(new Tunnel(parcelles[i, j], parcelles[i - 1, j])); } if (j > 0) { unSimulateur.AjouterAccès(new Tunnel(parcelles[i, j], parcelles[i, j - 1])); } } } Parcelle uneParcelleDeDépart = (unSimulateur.Zones[rand.Next(0, unSimulateur.Zones.Count)] as Parcelle); uneParcelleDeDépart.AjouterObjet(new Fourmiliere(unSimulateur, uneParcelleDeDépart)); for (i = 0; i < donnéesXML.Fourmiliere.Fourmis.Nombre; i++) { unSimulateur.AjouterPersonnage(new Fourmi(donnéesXML.Fourmiliere.Pheromones.Poids)); } i = 0; while (i < donnéesXML.Fourmiliere.Objectif.Nombre) { Parcelle uneParcelle = (unSimulateur.Zones[rand.Next(0, unSimulateur.Zones.Count)] as Parcelle); if (uneParcelle.estVide()) { uneParcelle.AjouterObjet(new Objectif(donnéesXML.Fourmiliere.Pheromones.Poids)); i++; } } unSimulateur.Interfaces.Add(new InterfaceGraphiqueFourmiliere(unSimulateur, largeur)); unSimulateur.Play(); return(unSimulateur); }
protected InterfaceGraphique(Simulateur uneSimulation) { CommandePlay = new Commande(play); CommandePause = new Commande(pause); CommandeRetour = new Commande(retour); simulation = uneSimulation; }
public Simulateur CréerSimulateur() { Simulateur unSimulateur = new Simulateur(); DonnéesInitialeSimulateurs donnéesXML = DonnéesXML.Réccupérer(); Random rand = new Random(); int longueur = donnéesXML.JeuDeLaVie.Carte.Longeur; int largeur = donnéesXML.JeuDeLaVie.Carte.Largeur; Case[,] cases = new Case[longueur, largeur]; for (int i = 0; i < longueur; i++) { for (int j = 0; j < largeur; j++) { cases[i, j] = new Case(new Cellule(rand.Next(0, 1000) % 3 == 0 ? EtatCellule.VIVANTE : EtatCellule.MORTE)); unSimulateur.AjouterZone(cases[i, j]); unSimulateur.AjouterPersonnage(cases[i, j].Occupant); if (i > 0) { unSimulateur.AjouterAccès(new Veine(cases[i, j], cases[i - 1, j])); } if (j > 0) { unSimulateur.AjouterAccès(new Veine(cases[i, j], cases[i, j - 1])); } } } unSimulateur.Interfaces.Add(new InterfaceGraphiqueJeuDeLaVie(unSimulateur, largeur)); unSimulateur.Play(); return unSimulateur; }
public Parcelle(Simulateur unSimulateur) { simulateur = unSimulateur; }
public Fourmiliere(Simulateur unSimulateur, Parcelle uneParcelle) { simulateur = unSimulateur; parcelle = uneParcelle; }
public InterfaceGraphiqueFourmiliere(Simulateur unSimulateur, int uneLongueurLigne) : base(unSimulateur) { longueurLigne = uneLongueurLigne; Application.Current.Dispatcher.Invoke(CreationDeLaFenetre); fenetre.Show(); }