public static Forme[,] selectionFormes(Perception regle) { Forme [,] tableauForme = new Forme[3, 4]; Random rnd = new Random(); string[,] arrayLetters = new string[3, 4] { { "A", "B", "C", "D" }, { "E", "F", "G", "H" }, { "I", "J", "K", "L" } }; string formeVoulue = regle._forme; string couleurVoulue = regle._couleur; string couleur = ""; string forme = ""; int largeur = 50; int hauteur = 50; //on place aléatoirement les 3 ou 4 formes à reperer nbFormeVoulue = rnd.Next(3, 5); int cptFormeVoulue = 0; tableauFormeVoulue = new Forme[nbFormeVoulue]; while (cptFormeVoulue < nbFormeVoulue) { int i = rnd.Next(0, 3); int j = rnd.Next(0, 4); if (tableauForme[i, j] == null) //on crée une nouvelle forme qu'a un emplacement ou il n'y en a pas déjà { tableauForme[i, j] = new Forme(couleurVoulue, formeVoulue, rndNumbersTab[i, j], 25 + 105 * j, 30 + 95 * i, arrayLetters[i, j], largeur, hauteur); tableauFormeVoulue[cptFormeVoulue] = tableauForme[i, j]; cptFormeVoulue++; //on change d'indice que si on crée une nouvelle forme } } for (int i = 0; i < 3; i++) //on place toutes les autres { for (int j = 0; j < 4; j++) { if (tableauForme[i, j] == null) // on ne remplit le tableau que s'il est vide, soit s'il y a pas de forme voulue deja à cette position { int rndCouleur = rnd.Next(1, 3); //1=Bleu, 2=jaune int rndForme = rnd.Next(1, 3); switch (rndCouleur) { case 1: couleur = "Blue"; break; case 2: couleur = "Yellow"; break; } switch (rndForme) { case 1: forme = "Rectangle"; break; case 2: forme = "Rond"; break; } if (couleur != couleurVoulue) { tableauForme[i, j] = new Forme(couleur, forme, rndNumbersTab[i, j], 25 + 105 * j, 30 + 95 * i, arrayLetters[i, j], largeur, hauteur); } else { if (forme != formeVoulue) { tableauForme[i, j] = new Forme(couleur, forme, rndNumbersTab[i, j], 25 + 105 * j, 30 + 95 * i, arrayLetters[i, j], largeur, hauteur); } else // on ne crée aucune forme car c'était une "formeVoulue" qui a été tiré donc on passe pas à la colonne suivante { j--; } } } } } return(tableauForme); }
public static IEnumerable <Forme> selectionFormes(Perception regle) { throw new System.NotImplementedException(); }