コード例 #1
0
        public override void StopperSur(Joueur j, Terrain terrain)
        {
            Console.WriteLine(terrain.ToString());
            Console.WriteLine("Voulez-vous acheter ce terrain ?[Y/N]");
            string choice = Console.ReadLine().ToLower();

            if (choice == "y")
            {
                //TODO:Vérifier les sous
                bool achatPossible = j.VerifAchatPossible(terrain.prixDepart);
                if (achatPossible)
                {
                    terrain.EnregistreAcheteur(j);
                    j.DebiteCompte(terrain.prixDepart);
                    Console.WriteLine($"Il vous reste {j.argent} sur votre compte.");
                }
                else
                {
                    Console.WriteLine("Vous ne pouvez pas acheter cette propriété.");
                }
            }
            else
            {
                Console.WriteLine("Vous n'avez pas voulu acheter ce terrain.");
            }
        }
コード例 #2
0
        public override void AcheterTerrain(Joueur j, Terrain terrain)
        {
            bool achatPossible = j.VerifAchatPossible(terrain.prixDepart);

            if (achatPossible)
            {
                terrain.EnregistreAcheteur(j);
                j.DebiteCompte(terrain.prixDepart);
                Console.WriteLine($"Il vous reste {j.argent} sur votre compte.");
            }
            else
            {
                Console.WriteLine("Vous ne pouvez pas acheter cette propriété.");
            }
        }
コード例 #3
0
        public override void StopperSur(Joueur j)
        {
            //Si cette case est possédée.
            if (possede == true)
            {
                if (j != this.proprietaire)
                {
                    int frais = this.CalculerFrais();

                    j.PayerLoyer(this.proprietaire, frais);
                }
                else
                {
                    Console.WriteLine("Vous êtes propriétaire de cette compagnie.");
                }
            }
            else
            {
                //Le joueur peut acheter la case.

                Console.WriteLine($"La {nom} est disponible, voulez vous l'acheter ? [Y/N]");
                string choice = Console.ReadLine().ToLower();
                if (choice == "y")
                {
                    bool achatPossible = j.VerifAchatPossible(prix);
                    if (achatPossible)
                    {
                        this.EnregistrerAcheteur(j);
                        j.DebiteCompte(prix);
                        Console.WriteLine($"Il vous reste {j.argent} sur votre compte.");
                    }
                    else
                    {
                        Console.WriteLine("Vous n'avez pas assez d'argent pour acheter cette propriété.");
                    }
                }
                else
                {
                    Console.WriteLine("Vous avez décidé de ne pas acheter cette case.");
                }
            }
        }
コード例 #4
0
        public override void Construire(Joueur j, Terrain terrain, int nbMaisonsAConstruire)
        {
            uint prixAPayer = (uint)nbMaisonsAConstruire * terrain.prixMaison;

            if (terrain.VerifNbMaisons(nbMaisonsAConstruire))
            {
                if (j.VerifAchatPossible(prixAPayer))
                {
                    j.DebiteCompte(prixAPayer);
                    terrain.maisonsConstruites += (uint)nbMaisonsAConstruire;
                    Console.WriteLine($"Vous avez dorénavant {terrain.maisonsConstruites} maisons sur le terrain '{terrain.nom}'");
                }
                else
                {
                    Console.WriteLine("Vous n'avez pas assez d'argent pour acheter autant de maison.");
                }
            }
            else
            {
                Console.WriteLine($"Cela ferait trop de maisons pour le terrain {terrain.nom}");
            }
        }
コード例 #5
0
        /// <summary>
        /// Enregistrer les maisons à construire sur this.
        /// </summary>
        /// <param name="nbMaisonsAConstruire"></param>
        internal void EnregistrerMaisons(int nbMaisonsAConstruire)
        {
            uint prixAPayer = (uint)nbMaisonsAConstruire * prixMaison;

            if (this.VerifNbMaisons(nbMaisonsAConstruire))
            {
                if (proprietaire.VerifAchatPossible(prixAPayer))
                {
                    proprietaire.DebiteCompte(prixAPayer);
                    maisonsConstruites += (uint)nbMaisonsAConstruire;
                    Console.WriteLine($"Vous avez dorénavant {maisonsConstruites} maisons sur le terrain '{nom}'");
                }
                else
                {
                    Console.WriteLine("Vous n'avez pas assez d'argent pour acheter autant de maison.");
                }
            }
            else
            {
                Console.WriteLine($"Cela ferait trop de maisons pour le terrain {nom}");
            }
        }