public CaseMorpion(Coordonnee laCoordonnee, IRepresentationCaseMorpion uneRepresentationCaseMorpion) : base() { _maCoordonnee = laCoordonnee; _value = new Pion(""); _id = MethodesGlobales.ConvertirCoordonneEnIdCase(laCoordonnee); _maRepresentation = uneRepresentationCaseMorpion; }
private int GetNbrElementsIdentiquesEnBasAGauche(Coordonnee uneCoordonnee, Pion unPion, int p_nbrElementGagnant) { int nbrElementTrouve = 0; int nbrMaxCount = p_nbrElementGagnant; int iCompteur = 0; bool aTrouveeUnMemePion = true; while (aTrouveeUnMemePion && (uneCoordonnee.X - iCompteur < nbrMaxCount) && (uneCoordonnee.Y + iCompteur < nbrMaxCount)) { if (_mesCases[ConvertIdCase(uneCoordonnee.X - iCompteur, uneCoordonnee.Y + iCompteur)].GetElement().Valeur().Equals(unPion.Valeur())) { nbrElementTrouve++; } else { aTrouveeUnMemePion = false; } iCompteur++; } return(nbrElementTrouve - 1); }
public CaseMorpion(Coordonnee laCoordonnee) { _maCoordonnee = laCoordonnee; _value = new Pion(""); _id = MethodesGlobales.ConvertirCoordonneEnIdCase(laCoordonnee); _maRepresentation = new ControlCaseMorpion(MethodesGlobales.ConvertirCoordonneEnIdCase(laCoordonnee)); }
public void PoserElement(Coordonnee cetteCoordonnee, Pion unPion) { if (_mesCases.ContainsKey(ConvertIdCase(cetteCoordonnee.X, cetteCoordonnee.Y))) { if (!_mesCases[ConvertIdCase(cetteCoordonnee.X, cetteCoordonnee.Y)].EstCoche()) { _mesCases[ConvertIdCase(cetteCoordonnee.X, cetteCoordonnee.Y)].RecevoirElement(unPion); } } }
private bool VerifierSiJoueurGagneVerticalement(Coordonnee uneCoordonnee, Pion unPion, int p_nbrElementGagnant) { if (PeutGagneVerticalement(uneCoordonnee, p_nbrElementGagnant)) { int nbrElementTrouve = GetNbrElementsTrouvesIdentiquesVerticale(uneCoordonnee, unPion, p_nbrElementGagnant); if (nbrElementTrouve == p_nbrElementGagnant) { return(true); } } return(false); }
public bool VerifierSiJoueurGagne(Coordonnee uneCoordonnee, Pion unPion, int nbrElementGagnantMax) { if (VerfierSiJoueurGagneHorizontalement(uneCoordonnee, unPion, nbrElementGagnantMax)) { return(true); } if (VerifierSiJoueurGagneVerticalement(uneCoordonnee, unPion, nbrElementGagnantMax)) { return(true); } if (VerifierSiJoueurGagneDiagonalement(uneCoordonnee, unPion, nbrElementGagnantMax)) { return(true); } return(false); }
public void AnnulerElement(Pion pion, System.Drawing.Image image) { _value = pion; _maRepresentation.AnnulerCoche(image); }
private int GetNbrElementsTrouvesIdentiquesDiagonalement(Coordonnee uneCoordonnee, Pion unPion, int p_nbrElementGagnant) { int nbrElementTrouve = 0; if (PeutAllerEnHautADroite(uneCoordonnee, p_nbrElementGagnant)) { nbrElementTrouve = 0; nbrElementTrouve = nbrElementTrouve + GetNbrElementsIdentiquesEnHautADroite(uneCoordonnee, unPion, p_nbrElementGagnant); } if (PeutAllerEnHautAGauche(uneCoordonnee, p_nbrElementGagnant)) { nbrElementTrouve = 0; nbrElementTrouve = nbrElementTrouve + GetNbrElementsIdentiquesEnHautAGauche(uneCoordonnee, unPion, p_nbrElementGagnant); } if (PeutAllerEnBasADroite(uneCoordonnee, p_nbrElementGagnant)) { nbrElementTrouve = 0; nbrElementTrouve = nbrElementTrouve + GetNbrElementsIdentiquesEnBasADroite(uneCoordonnee, unPion, p_nbrElementGagnant); } if (PeutAllerEnBasAGauche(uneCoordonnee, p_nbrElementGagnant)) { nbrElementTrouve = 0; nbrElementTrouve = nbrElementTrouve + GetNbrElementsIdentiquesEnBasAGauche(uneCoordonnee, unPion, p_nbrElementGagnant); } if (PeutAllerEnHautADroiteEtEnBasAGauche(uneCoordonnee, p_nbrElementGagnant)) { nbrElementTrouve = 0; nbrElementTrouve = nbrElementTrouve + GetNbrElementsIdentiquesEnHautADroite(uneCoordonnee, unPion, p_nbrElementGagnant); nbrElementTrouve = nbrElementTrouve + GetNbrElementsIdentiquesEnBasAGauche(uneCoordonnee, unPion, p_nbrElementGagnant); } if (PeutAllerEnHautAGaucheEtEnBasADroite(uneCoordonnee, p_nbrElementGagnant)) { nbrElementTrouve = 0; nbrElementTrouve = nbrElementTrouve + GetNbrElementsIdentiquesEnHautAGauche(uneCoordonnee, unPion, p_nbrElementGagnant); nbrElementTrouve = nbrElementTrouve + GetNbrElementsIdentiquesEnBasADroite(uneCoordonnee, unPion, p_nbrElementGagnant); } nbrElementTrouve++; return(nbrElementTrouve); }