コード例 #1
0
        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);
        }
コード例 #2
0
 public static IEnumerable <Forme> selectionFormes(Perception regle)
 {
     throw new System.NotImplementedException();
 }