Пример #1
0
        public static void Restaurer(Joueur j, StreamReader fichierSauvegarde, string nomJoueurCourant)
        {
            j.Nom = fichierSauvegarde.ReadLine();
            j.Position.colonne = Int32.Parse(fichierSauvegarde.ReadLine());
            j.Position.rangee  = Int32.Parse(fichierSauvegarde.ReadLine());
            j.Argent           = Int64.Parse(fichierSauvegarde.ReadLine());
            j.PositionCarreau  = Int32.Parse(fichierSauvegarde.ReadLine());
            j.EstVivant        = Boolean.Parse(fichierSauvegarde.ReadLine());

            while ((char)fichierSauvegarde.Peek() != 'p')
            {
                int positionCarreau   = Int32.Parse(fichierSauvegarde.ReadLine());
                CarreauPropriete prop = (CarreauPropriete)Plateau.Instance.getCarreau(positionCarreau);
                prop.NombreBatiement = Int32.Parse(fichierSauvegarde.ReadLine());
                prop.EstHypotheque   = Boolean.Parse(fichierSauvegarde.ReadLine());
                j.Proprietes.Add(prop);
            }
            fichierSauvegarde.ReadLine();
            while ((char)fichierSauvegarde.Peek() != 't')
            {
                int          positionCarreau = Int32.Parse(fichierSauvegarde.ReadLine());
                CarreauTrain train           = (CarreauTrain)Plateau.Instance.getCarreau(positionCarreau);
                train.EstHypotheque = Boolean.Parse(fichierSauvegarde.ReadLine());

                j.Trains.Add(train);
            }
            fichierSauvegarde.ReadLine();
            while ((char)fichierSauvegarde.Peek() != 's')
            {
                int            positionCarreau = Int32.Parse(fichierSauvegarde.ReadLine());
                CarreauService service         = (CarreauService)Plateau.Instance.getCarreau(positionCarreau);
                service.EstHypotheque = Boolean.Parse(fichierSauvegarde.ReadLine());
                j.Services.Add(service);
            }
            fichierSauvegarde.ReadLine();
            if (j.Nom == nomJoueurCourant)
            {
                Plateau.Instance.JoueurCourant = j;
            }

            j.BougerLaPiece(j.PositionCarreau);
        }
Пример #2
0
        /// <summary>
        /// Verifie s'il a l'argent pour acheter un terrain, et l'achete automatiquement s'il peut
        /// </summary>
        /// <returns>La propriete a bien ete achetee</returns>
        public bool acheterPropriete(CarreauPropriete carreau)
        {
            Joueur joueurCourant = Plateau.Instance.JoueurCourant;

            if (joueurCourant.PeutPayer(carreau.PrixAchat))
            {
                DialogResult confirmResult = System.Windows.Forms.MessageBox.Show("Souhaitez-vous acheter cette propriété?", "Achat de propriété", MessageBoxButtons.YesNo);
                if (confirmResult == DialogResult.Yes)
                {
                    joueurCourant.Payer(carreau.PrixAchat); // le jouer peut decider d'acheter la case.
                    carreau.Proprietaire = joueurCourant;
                    joueurCourant.Proprietes.Add(carreau);
                    return(true);
                }
                else
                {
                    System.Windows.MessageBox.Show("Le joueur " + joueurCourant.Nom + " n'a pas acheté la propriété", "Avertissement", MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
            else
            {
                foreach (CarreauAchetable prop in Plateau.Instance.JoueurCourant.Proprietes)
                {
                    if (!prop.EstHypotheque)
                    {
                        Plateau.Instance.JoueurCourant.Hypothequer(prop);

                        if (acheterPropriete(carreau))
                        {
                            return(true);
                        }
                        else
                        {
                            //return false dans la vraie vie #Jo
                            Plateau.Instance.JoueurCourant.FaitFaillite();
                        }
                    }
                }
            }
            return(false);
        }
Пример #3
0
        /// <summary>
        /// On vient lire le XML des propriété
        /// et on initalise les carreaux Propriétées
        /// </summary>
        private void lireXMLProprietes()
        {
            XDocument doc        = XDocument.Parse(Properties.Resources.propriete);
            XElement  proprietes = doc.Root.Element("Proprietes");

            //MessageBox.Show(doc.Root.Elements("Titre").Count()+"");
            foreach (XElement titre in doc.Root.Elements("Titre"))
            {
                String indexDictionnaire = titre.Descendants("IndexDictionnaire").First().Value.ToString();
                int    position          = Int32.Parse(titre.Descendants("Position").First().Value.ToString());
                CarreauPropriete.Couleurs nouveauCarreauCouleur = (CarreauPropriete.Couleurs)Int32.Parse(titre.Descendants("Couleur").First().Value.ToString());
                long    prixAchat         = Int32.Parse(titre.Descendants("Prix").First().Value.ToString());
                long    droitPassBase     = Int32.Parse(titre.Element("Location").Descendants("base").First().Value.ToString());
                long    droitPass1Maison  = Int32.Parse(titre.Element("Location").Descendants("uneMaison").First().Value.ToString());
                long    droitPass2Maisons = Int32.Parse(titre.Element("Location").Descendants("deuxMaisons").First().Value.ToString());
                long    droitPass3Maisons = Int32.Parse(titre.Element("Location").Descendants("troisMaisons").First().Value.ToString());
                long    droitPass4Maisons = Int32.Parse(titre.Element("Location").Descendants("quatreMaisons").First().Value.ToString());
                long    droitPassHotel    = Int32.Parse(titre.Element("Location").Descendants("hotel").First().Value.ToString());
                long[]  droitPassage      = { droitPassBase, droitPass1Maison, droitPass2Maisons, droitPass3Maisons, droitPass4Maisons, droitPassHotel };
                Carreau nouveauCarreau    = new CarreauPropriete(position, nouveauCarreauCouleur, prixAchat, droitPassage);
                //MessageBox.Show(titre.Descendants("Couleur").First().Value.ToString() + " "+ nouveauCarreauCouleur);
                dictionnaireCarreaux.Add(indexDictionnaire, nouveauCarreau);
            }
        }
Пример #4
0
 public void execute(Carreau carreau)
 {
     if (carreau is CarreauPropriete)
     {
         CarreauPropriete carreauActuel = (CarreauPropriete)carreau;
         if (!carreauActuel.estPossede())
         {
             acheterPropriete(carreauActuel);
         }
     }
     else if (carreau is CarreauTrain)
     {
         CarreauTrain carreauActuel = (CarreauTrain)carreau;
         if (!carreauActuel.estPossede())
         {
             acheterTrain(carreauActuel);
         }
     }
     else
     {
         CarreauService carreauActuel = (CarreauService)carreau;
         //if (!carreauActuel.estPossede())
     }
 }