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."); } }
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é."); } }
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."); } } }
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}"); } }
/// <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}"); } }