static void Main() { InitialiserConsole(); Objets = new BaseDeDonnees(); Groupe = new GroupeAventurier(); if (File.Exists("aventures.xml")) { /* TODO: Retirer ce commentaire lorsque les aventures seront tous développées XmlSerializer serializer = new XmlSerializer(typeof(List<Aventure>)); FileStream fs = new FileStream("aventures.xml", FileMode.Open); XmlReader reader = XmlReader.Create(fs); Aventures = (List<Aventure>)serializer.Deserialize(reader); fs.Close(); } else { */ Aventures = new List<Aventure>(); Dictionary<Objet, double> objets = new Dictionary<Objet, double>(); objets.Add(Objets.Equipables[refEquipables.PiocheEnFer], 0.5); Aventure Aventure1 = new Aventure("La mine des Kobolds", "Mettez un terme à la mine qui cause une grande brume noire dans tous les alentours", /* Niveau: */ 1, objets); Aventure1.Combats = new Combat[2]; Aventure1.Combats[0] = new Combat(new Ennemi[] { new Kobold(1), new Kobold(2) }); Aventure1.Combats[1] = new Combat(new Ennemi[] { new Kobold(1), new Kobold(2), new Kobold(3) }); Aventures.Add(Aventure1); objets = new Dictionary<Objet, double>(); objets.Add(Objets.Consommables[refConsommables.PotionMajeure], 0.5); objets.Add(Objets.Consommables[refConsommables.Potion], 0.7); Aventure Aventure2 = new Aventure("Le repère des goblins", "Envahissez le repère des goblins afin d'arrêter les vols commis dernièrement", /* Niveau: */ 3, objets); Aventure2.Combats = new Combat[3]; Aventure2.Combats[0] = new Combat(new Ennemi[] { new Goblin(1) }); Aventure2.Combats[1] = new Combat(new Ennemi[] { new Goblin(1), new Goblin(2) }); Aventure2.Combats[2] = new Combat(new Ennemi[] { new Goblin(1), new CommandantGoblin(1) }); Aventures.Add(Aventure2); XmlSerializer xml = new XmlSerializer(typeof(List<Aventure>)); using (StreamWriter writer = new StreamWriter("aventures.xml")) { xml.Serialize(writer, Aventures); } } MenuPrincipal(); }
/// <summary> /// Chargement du groupe (désérialisation binaire) /// </summary> public static void ChargementGroupe() { try { BinaryFormatter format = new BinaryFormatter(); using (Stream stream = new FileStream(PATH + FILENAME + EXTENSION, FileMode.Open, FileAccess.Read, FileShare.None)) Groupe = (GroupeAventurier)format.Deserialize(stream); } catch (IOException e) { Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine("\nIl semble qu'une erreur s'est produite lors du chargement d'un fichier. \n\nDétails: " + e); Console.ForegroundColor = ConsoleColor.Black; } }