//Retour la bonne couleur public static char testretourcouleur(int PositionX, int PositionY, Tuile tuile) { char[] Donnee = new char[10]; Donnee = RecupAutourTuile(PositionX, PositionY); //return Donnee[8]; return(GetCase(PositionX + 1, PositionY).GetForme()); // retourne la couleur a droite }
//Methode - autre public static void Init() { Tuile init = new Tuile(' ', ' ', @""); for (int i = 0; i < 20; i++) { for (int j = 0; j < 20; j++) { SetCase(i, j, init); } } }
public static void PiocherCarte(Joueur joueur, int position_tuile) { if (pioche.Count > 0) { nb_tuiles = pioche.Count; int alea_nb = aleatoire.Next(nb_tuiles); Tuile tuile = pioche.ElementAt(alea_nb); joueur.SetMain(position_tuile, tuile); pioche.ElementAt(alea_nb).UtilisationDeTuile(); if ((pioche.ElementAt(alea_nb)).GetNb_utilisation() == 0) { CarteEpuisee(alea_nb); } } }
public void SetMain(int position, Tuile tuile) { this.Main[position] = tuile; }
public static void SetSwap(Tuile tuile) { Swap[numecase] = tuile; numecase++; }
public static bool ValiderPlacement(int PositionX, int PositionY, Tuile tuile) { char forme = tuile.GetForme(); char couleur = tuile.GetCouleur(); bool bonne_ligne = false; int testpositionX = PositionX; //reprend la position actuelle de la tuile pour pouvoir la manipuler et checker les tuiles alentours int testpositionY = PositionY; char testX = 'A'; //lettre au hasard, non existante en code couleur ou forme . Si elle change alors ça indique quel indice il faut tester char testY = 'A'; int Nb_pions_lignesX = 0; int Nb_pions_lignesY = 0; if (GetCase(PositionX, PositionY).GetCouleur() != ' ') //s'il retourne une couleur, il possède normalement aussi une forme donc aucun besoin de tester. Idem pour les autres tests { return(false); } if ((PositionY - 1 >= 0) && (GetCase(PositionX, PositionY - 1).GetCouleur() != ' ')) //Test si case au dessus valide, et si case au dessus { if ((GetCase(testpositionX, testpositionY - 1).GetCouleur() != couleur) && (GetCase(testpositionX, testpositionY - 1).GetForme() != forme)) //test si couleur et forme différentes { return(false); } if (GetCase(testpositionX, testpositionY - 1).GetCouleur() == couleur) // test si même couleur { if (testY == 'A') { testY = couleur; } else { if (testY != couleur) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; testpositionY--; while ((testpositionY >= 0) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ') && (testpositionY >= PositionY - 5)) { Nb_pions_lignesY++; if ((GetCase(testpositionX, testpositionY).GetCouleur() != testY) || (GetCase(testpositionX, testpositionY).GetForme() == forme) || (Nb_pions_lignesY > 5)) { return(false); } testpositionY--; } if ((testpositionY >= 0) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ')) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; if (GetCase(testpositionX, testpositionY - 1).GetForme() == forme) //test si même forme { if (testY == 'A') { testY = forme; } else { if (testY != forme) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; testpositionY--; while ((testpositionY >= 0) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ') && (testpositionY >= PositionY - 5)) { Nb_pions_lignesY++; if ((GetCase(testpositionX, testpositionY).GetForme() != testY) || (GetCase(testpositionX, testpositionY).GetCouleur() == couleur) || (Nb_pions_lignesY++ > 5)) { return(false); } testpositionY--; } if ((testpositionY >= 0) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ')) { return(false); } } bonne_ligne = true; testpositionX = PositionX; testpositionY = PositionY; } if ((PositionY + 1 <= 19) && (GetCase(PositionX, PositionY + 1).GetCouleur() != ' ')) // Test si case en dessous { if ((GetCase(testpositionX, testpositionY + 1).GetCouleur() != couleur) && (GetCase(testpositionX, testpositionY + 1).GetForme() != forme)) //test si couleur et forme différentes { return(false); } if (GetCase(testpositionX, testpositionY + 1).GetCouleur() == couleur) // test si même couleur { if (testY == 'A') { testY = couleur; } else { if (testY != couleur) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; testpositionY++; while ((testpositionY <= 19) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ') && (testpositionY <= PositionY + 5)) { Nb_pions_lignesY++; if ((GetCase(testpositionX, testpositionY).GetCouleur() != testY) || (GetCase(testpositionX, testpositionY).GetForme() == forme) || (Nb_pions_lignesY > 5)) { return(false); } testpositionY++; } if ((testpositionY <= 19) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ')) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; if (GetCase(testpositionX, testpositionY + 1).GetForme() == forme) //test si même forme { if (testY == 'A') { testY = forme; } else { if (testY != forme) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; testpositionY++; while ((testpositionY <= 19) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ') && (testpositionY <= PositionY + 5)) { Nb_pions_lignesY++; if ((GetCase(testpositionX, testpositionY).GetForme() != testY) || (GetCase(testpositionX, testpositionY).GetCouleur() == couleur) || (Nb_pions_lignesY > 5)) { return(false); } testpositionY++; } if ((testpositionY <= 19) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ')) { return(false); } } bonne_ligne = true; testpositionX = PositionX; testpositionY = PositionY; } if ((PositionX - 1 >= 0) && (GetCase(PositionX - 1, PositionY).GetCouleur() != ' ')) //Test si case à gauche { if ((GetCase(testpositionX - 1, testpositionY).GetCouleur() != couleur) && (GetCase(testpositionX - 1, testpositionY).GetForme() != forme)) //test si couleur et forme différentes { return(false); } if (GetCase(testpositionX - 1, testpositionY).GetCouleur() == couleur) // test si même couleur { if (testX == 'A') { testX = couleur; } else { if (testX != couleur) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; testpositionX--; while ((testpositionX >= 0) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ') && (testpositionX >= PositionX - 5)) { Nb_pions_lignesX++; if ((GetCase(testpositionX, testpositionY).GetCouleur() != testX) || (GetCase(testpositionX, testpositionY).GetForme() == forme) || (Nb_pions_lignesX > 5)) { return(false); } testpositionX--; } if ((testpositionX >= 0) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ')) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; if (GetCase(testpositionX - 1, testpositionY).GetForme() == forme) //test si même forme { if (testX == 'A') { testX = forme; } else { if (testX != forme) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; testpositionX--; while ((testpositionX >= 0) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ') && (testpositionX >= PositionX - 5)) { Nb_pions_lignesX++; if ((GetCase(testpositionX, testpositionY).GetForme() != testX) || (GetCase(testpositionX, testpositionY).GetCouleur() == couleur) || (Nb_pions_lignesX > 5)) { return(false); } testpositionX--; } if ((testpositionX >= 0) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ')) { return(false); } } bonne_ligne = true; testpositionX = PositionX; testpositionY = PositionY; } if ((PositionX + 1 <= 19) && (GetCase(PositionX + 1, PositionY).GetCouleur() != ' ')) //Test si case à droite { if ((GetCase(testpositionX + 1, testpositionY).GetCouleur() != couleur) && (GetCase(testpositionX + 1, testpositionY).GetForme() != forme)) //test si couleur et forme différentes { return(false); } if (GetCase(testpositionX + 1, testpositionY).GetCouleur() == couleur) // test si même couleur { if (testX == 'A') { testX = couleur; } else { if (testX != couleur) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; testpositionX++; while ((testpositionX <= 19) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ') && (testpositionX <= PositionX + 5)) { Nb_pions_lignesX++; if ((GetCase(testpositionX, testpositionY).GetCouleur() != testX) || (GetCase(testpositionX, testpositionY).GetForme() == forme) || (Nb_pions_lignesX > 5)) { return(false); } testpositionX++; } if ((testpositionX <= 19) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ')) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; if (GetCase(testpositionX + 1, testpositionY).GetForme() == forme) //test si même forme { if (testX == 'A') { testX = forme; } else { if (testX != forme) { return(false); } } testpositionX = PositionX; testpositionY = PositionY; testpositionX++; while ((testpositionX <= 19) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ') && (testpositionX <= PositionX + 5)) { Nb_pions_lignesX++; if ((GetCase(testpositionX, testpositionY).GetForme() != testX) || (GetCase(testpositionX, testpositionY).GetCouleur() == couleur) || (Nb_pions_lignesX > 5)) { return(false); } testpositionX++; } if ((testpositionX <= 19) && (GetCase(testpositionX, testpositionY).GetCouleur() != ' ')) { return(false); } } bonne_ligne = true; testpositionX = PositionX; testpositionY = PositionY; } if (bonne_ligne == true) { return(true); } //fin de verification et validation else { return(false); } }
public static void SetCase(int positionX, int positionY, Tuile tuile) { plateau[positionX, positionY] = tuile; }
//Methode - Autre public static void Init() { pioche.Clear(); Tuile CarreBleu = new Tuile('B', 'C', @"\ImagesTuiles\CarreBleu.jpg"); //carrés pioche.Add(CarreBleu); Tuile CarreJaune = new Tuile('J', 'C', @"\ImagesTuiles\CarreJaune.jpg"); pioche.Add(CarreJaune); Tuile CarreOrange = new Tuile('O', 'C', @"\ImagesTuiles\CarreOrange.jpg"); pioche.Add(CarreOrange); Tuile CarreRouge = new Tuile('R', 'C', @"\ImagesTuiles\CarreRouge.jpg"); pioche.Add(CarreRouge); Tuile CarreVert = new Tuile('V', 'C', @"\ImagesTuiles\CarreVert.jpg"); pioche.Add(CarreVert); Tuile CarreViolet = new Tuile('v', 'C', @"\ImagesTuiles\CarreViolet.jpg"); pioche.Add(CarreViolet); Tuile CroixBleue = new Tuile('B', 'c', @"\ImagesTuiles\CroixBleue.jpg"); //croix pioche.Add(CroixBleue); Tuile CroixJaune = new Tuile('J', 'c', @"\ImagesTuiles\CroixJaune.jpg"); pioche.Add(CroixJaune); Tuile CroixOrange = new Tuile('O', 'c', @"\ImagesTuiles\CroixOrange.jpg"); pioche.Add(CroixOrange); Tuile CroixRouge = new Tuile('R', 'c', @"\ImagesTuiles\CroixRouge.jpg"); pioche.Add(CroixRouge); Tuile CroixVerte = new Tuile('V', 'c', @"\ImagesTuiles\CroixVerte.jpg"); pioche.Add(CroixVerte); Tuile CroixViolet = new Tuile('v', 'c', @"\ImagesTuiles\CroixViolet.jpg"); pioche.Add(CroixViolet); Tuile EtoileBleue = new Tuile('B', 'E', @"\ImagesTuiles\EtoileBleue.jpg"); //etoile pioche.Add(EtoileBleue); Tuile EtoileJaune = new Tuile('J', 'E', @"\ImagesTuiles\EtoileJaune.jpg"); pioche.Add(EtoileJaune); Tuile EtoileOrange = new Tuile('O', 'E', @"\ImagesTuiles\EtoileOrange.jpg"); pioche.Add(EtoileOrange); Tuile EtoileRouge = new Tuile('R', 'E', @"\ImagesTuiles\EtoileRouge.jpg"); pioche.Add(EtoileRouge); Tuile EtoileVerte = new Tuile('V', 'E', @"\ImagesTuiles\EtoileVerte.jpg"); pioche.Add(EtoileVerte); Tuile EtoileViolet = new Tuile('v', 'E', @"\ImagesTuiles\EtoileViolet.jpg"); pioche.Add(EtoileViolet); Tuile LosangeBleu = new Tuile('B', 'L', @"\ImagesTuiles\LosangeBleu.jpg"); //losange pioche.Add(LosangeBleu); Tuile LosangeJaune = new Tuile('J', 'L', @"\ImagesTuiles\LosangeJaune.jpg"); pioche.Add(LosangeJaune); Tuile LosangeOrange = new Tuile('O', 'L', @"\ImagesTuiles\LosangeOrange.jpg"); pioche.Add(LosangeOrange); Tuile LosangeRouge = new Tuile('R', 'L', @"\ImagesTuiles\LosangeRouge.jpg"); pioche.Add(LosangeRouge); Tuile LosangeVert = new Tuile('V', 'L', @"\ImagesTuiles\LosangeVert.jpg"); pioche.Add(LosangeVert); Tuile LosangeViolet = new Tuile('v', 'L', @"\ImagesTuiles\LosangeViolet.jpg"); pioche.Add(LosangeViolet); Tuile RondBleu = new Tuile('B', 'R', @"\ImagesTuiles\RondBleu.jpg"); //rond pioche.Add(RondBleu); Tuile RondJaune = new Tuile('J', 'R', @"\ImagesTuiles\RondJaune.jpg"); pioche.Add(RondJaune); Tuile RondOrange = new Tuile('O', 'R', @"\ImagesTuiles\RondOrange.jpg"); pioche.Add(RondOrange); Tuile RondRouge = new Tuile('R', 'R', @"\ImagesTuiles\RondRouge.jpg"); pioche.Add(RondRouge); Tuile RondVert = new Tuile('V', 'R', @"\ImagesTuiles\RondVert.jpg"); pioche.Add(RondVert); Tuile RondViolet = new Tuile('v', 'R', @"\ImagesTuiles\RondViolet.jpg"); pioche.Add(RondViolet); Tuile TrefleBleu = new Tuile('B', 'T', @"\ImagesTuiles\TrefleBleu.jpg"); //trefle pioche.Add(TrefleBleu); Tuile TrefleJaune = new Tuile('J', 'T', @"\ImagesTuiles\TrefleJaune.jpg"); pioche.Add(TrefleJaune); Tuile TrefleOrange = new Tuile('O', 'T', @"\ImagesTuiles\TrefleOrange.jpg"); pioche.Add(TrefleOrange); Tuile TrefleRouge = new Tuile('R', 'T', @"\ImagesTuiles\TrefleRouge.jpg"); pioche.Add(TrefleRouge); Tuile TrefleVert = new Tuile('V', 'T', @"\ImagesTuiles\TrefleVert.jpg"); pioche.Add(TrefleVert); Tuile TrefleViolet = new Tuile('v', 'T', @"\ImagesTuiles\TrefleViolet.jpg"); pioche.Add(TrefleViolet); }
//Methode - Seter public static void SetPioche(Tuile tuile) { pioche.Add(tuile); }