public void initOperation(Propriete AVendre, Joueur Vendeur, List <Joueur> joueursEnJeu, Controleur c) { c.SwitchVerrouFenetre(); FormChoixAchatVente operation = new FormChoixAchatVente(Vendeur, joueursEnJeu, this, AVendre, c.listePropriete, c); operation.Show(); }
public void initAchatMaison(Propriete constructible, Joueur acheteur, List <Joueur> joueursEnJeu, List <Propriete> listeProp, Controleur c) { switch (CheckAchatMaison(constructible, acheteur, listeProp)) { default: MessageBox.Show("Aucune opération de construction est disponible en l'état."); c.SwitchVerrouFenetre(); break; case 0: FormulaireAchat modalitesMaison = new FormulaireAchat(0, this, acheteur, constructible, c); modalitesMaison.Show(); break; case 1: FormulaireAchat modalitesHotel = new FormulaireAchat(1, this, acheteur, constructible, c); modalitesHotel.Show(); break; } }
public void VendPropriete(FormulaireVente form, Propriete AVendre, Joueur Vendeur) { Joueur acheteur = form.GetAcheteur(); if (AVendre.Numero == 5 || AVendre.Numero == 15 || AVendre.Numero == 25 || AVendre.Numero == 35) { acheteur.nbrDonjons++; Vendeur.nbrDonjons--; } AVendre.Proprietaire = acheteur; Vendeur.Patrimoine.Remove(AVendre); acheteur.Patrimoine.Add(AVendre); foreach (Case ca in control.listeCases) { if (ca.Num == AVendre.Numero) { AVendre.afficheAppartenanceCase(acheteur, ca); } } }
public int NbrMaisonAchetable(Joueur proprietaire, Propriete aComparer, List <Propriete> listeProp) { int nombreMin = 999; foreach (Propriete prop in listeProp) { if (prop.Couleur == aComparer.Couleur) { if (prop.Hotel != true && prop.NbrMaison < nombreMin) { nombreMin = prop.NbrMaison; } } } if (aComparer.NbrMaison <= nombreMin) { return(1); } else { return(0); } }
/// <summary> /// Vérifie la disponibilité de la construction d'hôtel ou de maisons /// </summary> /// <param name="constructible">Terrain sur lequel on souhaite construire</param> /// <param name="proprietaire">Propriétaire du terrain</param> /// <param name="listePropriete">Liste des propriétés du plateau</param> /// <returns></returns> private int CheckAchatMaison(Propriete constructible, Joueur proprietaire, List <Propriete> listePropriete) { bool hotel = true; bool maison = true; int couleurTotal = 0, couleur = 0; foreach (Propriete prop in listePropriete) { //Vérifie si tout les terrain sont possédé (si couleur == couleurTotal) if (prop.Couleur == constructible.Couleur) { couleurTotal++; } if (prop.Couleur == constructible.Couleur && prop.Proprietaire == proprietaire) { couleur++; } if (prop.Couleur == constructible.Couleur && constructible.NbrMaison != 4 && (prop.NbrMaison != 4 || !prop.Hotel)) { hotel = false; } if (prop.Couleur == constructible.Couleur && constructible.NbrMaison > prop.NbrMaison) { maison = false; } } if (couleur != couleurTotal) { hotel = false; maison = false; } if (constructible.Hotel == true) { hotel = false; } if (nbrHotel == 0) { hotel = false; } if (nbrMaison == 0) { maison = false; } if (hotel) { return(1); } else if (maison) { return(0); } else { return(-1); } }
/// <summary> /// Vend la propriétée d'un joueur spécifié à un autre joueur /// </summary> /// <param name="AVendre">Propriété à vendre</param> /// <param name="Vendeur">Joueur vendeur</param> /// <param name="Acheteur">Joueur aquereur</param> /// <param name="Prix"></param> public void initVendPropriete(Propriete AVendre, Joueur Vendeur, List <Joueur> joueursEnJeu, Controleur c) { FormulaireVente modalites = new FormulaireVente(Vendeur, joueursEnJeu, this, AVendre, c); modalites.Show(); }
/// <summary> /// Lève une hypothèque sur la case hypothèquée d'un joueur /// </summary> /// <param name="joueur">>Joueur a qui appartient la propriétée</param> /// <param name="propriete">Case hypothèquée</param> void LeverHypotheque(Joueur joueur, Propriete propriete) { //PerdsArgent(joueur, (propriete.Prix[4] * 1.1)); //mise à jour du solde du joueur qui lève hypothèque la case //propriete.EstHypotheque = false; //déverrouillage de la case hypothèquée }
/// <summary> /// Met une hypothèque sur la case d'un joueur /// </summary> /// <param name="joueur">Joueur a qui appartient la propriétée</param> /// <param name="propriete">Case hypothèquée</param> void Hypotheque(Joueur joueur, Propriete propriete) { //GagneArgent(joueur, propriete.Prix[4]); //mise à jour du solde du joueur qui hypothèque la case //propriete.EstHypotheque = true; //verrouillage de la case hypothèquée }