public override ObjetAbstrait creerObjet(string nom, int TypeObjet, ZoneAbstraite position, EnvironnementAbstrait env) { id++; switch (TypeObjet) { case (int)FourmiliereConstante.typeObjectAbstrait.nourriture: { Nourriture n = new Nourriture(nom, position, id); env.ZoneAbstraiteList[position.coordonnes.x].zoneAbstraiteList[position.coordonnes.y].AjouteObjet(n); return(n); } case (int)FourmiliereConstante.typeObjectAbstrait.fourmiliere: { Fourmiliere f = new Fourmiliere(nom, position, id); env.ZoneAbstraiteList[position.coordonnes.x].zoneAbstraiteList[position.coordonnes.y].AjouteObjet(f); return(f); } case (int)FourmiliereConstante.typeObjectAbstrait.pheromoneInactive: { return(new PheromoneInactive(nom, position, id)); } default: return(null); } }
public MainWindow() { InitializeComponent(); var fabrique = new FabriqueFourmiliere("Master fabrique"); var fourmiliere = new Fourmiliere(fabrique); DataContext = this; }
public FourmilliereModel() { TitreApplication = "Application FourmilliereAL"; DimensionX = 60; DimensionY = 60; vitesse = 500; fourmilliere = new Fourmiliere(DimensionX, DimensionY); fourmilliere.PersonnageAbstraitList = new ObservableCollection <PersonnageAbstrait>(); fourmilliere.ObjetAbstraitList = new ObservableCollection <ObjetAbstrait>(); }
public MasterViewModel(FabriqueFourmiliere fabriqueFourmiliere, Fourmiliere fourmiliere) { this._fabriqueFourmiliere = fabriqueFourmiliere; this._fourmiliere = fourmiliere; this._fourmis = new ObservableCollection <FourmiViewModel>(); this._combatantes = new ObservableCollection <CombatanteViewModel>(); this._cueilleuses = new ObservableCollection <CueilleuseViewModel>(); foreach (var personnageAbstrait in this._fourmiliere.PersonnagesList) { if (personnageAbstrait.Nom == "fourmi") { var fourmi = (Fourmi)personnageAbstrait; this._fourmis.Add(new FourmiViewModel(fourmi)); } if (personnageAbstrait.Nom == "combatante") { var combatante = (Combatante)personnageAbstrait; this._combatantes.Add(new CombatanteViewModel(combatante)); } if (personnageAbstrait.Nom == "cueilleuse") { var cueilleuse = (Cueilleuse)personnageAbstrait; this._cueilleuses.Add(new CueilleuseViewModel(cueilleuse)); } } this._collectionFourmisView = CollectionViewSource.GetDefaultView(this._fourmis); if (this._collectionFourmisView == null) { throw new NullReferenceException("collectionViewFourmi"); } this._collectionFourmisView.CurrentChanged += new EventHandler(this.OnCollectionViewCurrentChangedFourmi); this._collectionCueilleusesView = CollectionViewSource.GetDefaultView(this._cueilleuses); if (this._collectionCueilleusesView == null) { throw new NullReferenceException("collectionViewCueilleuse"); } this._collectionCueilleusesView.CurrentChanged += new EventHandler(this.OnCollectionViewCurrentChangedCueilleuse); this._collectionCombatantesView = CollectionViewSource.GetDefaultView(this._combatantes); if (this._collectionCombatantesView == null) { throw new NullReferenceException("collectionViewCombatante"); } this._collectionCombatantesView.CurrentChanged += new EventHandler(this.OnCollectionViewCurrentChangedCombatante); }
private void OuvrirFichier() { App.MainVM.stop(); while (App.MainVM.Runnin) { } OpenFileDialog OFDialog = new OpenFileDialog(); OFDialog.InitialDirectory = Convert.ToString(Environment.SpecialFolder.MyDocuments); OFDialog.DefaultExt = "xml"; OFDialog.Filter = "XML Files|*.xml|All Files|*.*"; OFDialog.FilterIndex = 1; if (OFDialog.ShowDialog() == true && OFDialog.FileName.Length > 0) { // CHARGER LE FICHIER ET VERIFIER SA VALIDITE XmlDocument Chargement = new XmlDocument(); Chargement.Load(OFDialog.FileName); XmlNode MainVMXML; if ((MainVMXML = Chargement.SelectSingleNode("MainVM")) == null) { System.Media.SystemSounds.Beep.Play(); MessageBox.Show("Fichier incompatible !", "Chargement", MessageBoxButton.OK); return; } // RECUPERER DATA DE MAINVM int Dim = int.Parse(MainVMXML.SelectSingleNode("Dim").InnerText); String TitreApplication = MainVMXML.SelectSingleNode("TitreApplication").InnerText; int VitesseExec = int.Parse(MainVMXML.SelectSingleNode("VitesseExec").InnerText); bool Runnin = bool.Parse(MainVMXML.SelectSingleNode("Runnin").InnerText); Terrain Terrain = new Terrain(Dim); // RECUPERER DATA DE TERRAIN XmlNode TerrainXML = MainVMXML.SelectSingleNode("Terrain"); int NbToursTerrain = int.Parse(TerrainXML.SelectSingleNode("NbTours").InnerText); XmlNode CasesXML = TerrainXML.SelectSingleNode("Cases"); foreach (XmlNode CaseXML in CasesXML.SelectNodes("Case")) { CaseAbstrait Case; String CaseClass = CaseXML.SelectSingleNode("Class").InnerText; int CordX = int.Parse(CaseXML.SelectSingleNode("CordX").InnerText); int CordY = int.Parse(CaseXML.SelectSingleNode("CordY").InnerText); int PheromoneMaison = int.Parse(CaseXML.SelectSingleNode("PheromoneMaison").InnerText); int PheromoneNourriture = int.Parse(CaseXML.SelectSingleNode("PheromoneNourriture").InnerText); int NbToursCase = int.Parse(CaseXML.SelectSingleNode("NbTours").InnerText); if (CaseClass == "CaseNourriture") { Case = new CaseNourriture(Terrain, CordX, CordY); int NourriturePoids = int.Parse(CaseXML.SelectSingleNode("Nourriture/Poids").InnerText); Nourriture Nourriture = new Nourriture(Case, NourriturePoids); ((CaseNourriture)Case).Nourriture = Nourriture; } else if (CaseClass == "CaseFourmiliere") { Case = new CaseFourmiliere(Terrain, CordX, CordY); int NombreNourritures = int.Parse(CaseXML.SelectSingleNode("Fourmiliere/NombreNourritures").InnerText); int NombreToursFourmiliere = int.Parse(CaseXML.SelectSingleNode("Fourmiliere/NombreTours").InnerText); Fourmiliere Fourmiliere = new Fourmiliere(Case, 0); Fourmiliere.NombreNourritures = NombreNourritures; Fourmiliere.NombreTours = NombreToursFourmiliere; ((CaseFourmiliere)Case).Fourmiliere = Fourmiliere; } else if (CaseClass == "CaseNormal") { Case = new CaseNormal(Terrain, CordX, CordY); } else { System.Media.SystemSounds.Beep.Play(); MessageBox.Show("Erreur au chargement", "Chargement", MessageBoxButton.OK); return; } Case.PheromoneMaison = PheromoneMaison; Case.PheromoneNourriture = PheromoneNourriture; Case.NbTours = NbToursCase; XmlNode FourmisXML = CaseXML.SelectSingleNode("Fourmis"); foreach (XmlNode FourmiXML in FourmisXML.SelectNodes("Fourmi")) { int Vie = int.Parse(FourmiXML.SelectSingleNode("Vie").InnerText); String StrategieFourmi = FourmiXML.SelectSingleNode("StrategieFourmi").InnerText; Fourmi Fourmi = new Fourmi(Case); Fourmi.Vie = Vie; if (StrategieFourmi == "StrategieRetourMaison") { Fourmi.StrategieFourmi = new StrategieRetourMaison(); } Case.Fourmis.Add(Fourmi); } Terrain.Cases[Case.CordX, Case.CordY] = Case; } Terrain.NbTours = NbToursTerrain; XmlNode StatistiqueXML = MainVMXML.SelectSingleNode("Statistique"); int NombreFourmis = int.Parse(StatistiqueXML.SelectSingleNode("NombreFourmis").InnerText); int NombreToursStatistique = int.Parse(StatistiqueXML.SelectSingleNode("NombreTours").InnerText); Statistique Statistique = new Statistique(Terrain); Statistique.NombreFourmis = NombreFourmis; Statistique.NombreTours = NombreToursStatistique; App.MainVM.Dim = Dim; App.MainVM.Terrain = Terrain; App.MainVM.TitreApplication = TitreApplication; App.MainVM.VitesseExec = VitesseExec; App.MainVM.Statistique = Statistique; DessinePlateau(); System.Media.SystemSounds.Beep.Play(); MessageBox.Show("Fichier Chargé !", "Chargement", MessageBoxButton.OK); } }
public App() { fourmilliereVM = new Fourmiliere(30, 30); config = new Config(); }