Générer aléatoirement des lettres

amlev11 Messages postés 10 Date d'inscription mardi 6 mars 2007 Statut Membre Dernière intervention 7 mars 2007 - 6 mars 2007 à 19:55
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 - 7 mars 2007 à 01:22
Bonjour!

Je dois créer une espèce de jeu de type Boggle pour mon cours.  Mon problème se situe au niveau de la génération les lettres.  Le jeu comporte 16 cases et on doit y compter toujours 6 voyelles mais pas toujours au même endroit.  Le reste des cases contient des consonnes choisies aussi aléatoirement.

Est-ce que quelqu'un pourrait me donner une idée à savoir comment mettre des lettres aléatoirement dans ces cases?

Merci beaucoup!

Anne-Marie

6 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
6 mars 2007 à 20:49
Salut:

Tu peux comme ceci: (c'est une solution parmi milles). Bon, je n'ai pas compter ici les lettres accentuées mais cela n'affectera pas notre petit programme, si tu veux ajoutes les.











import java.util.*;



public class GeneratorOfRandomWords {



    // Je te laisses le soin d'écrire toutes les lettres consonnes ici




    public static final String CONSONNES = "bcdfghklmn...xz";



    public static final String VOYELLES  = "aeioy";



    public static final int LENGTH = 16;



    public static final int NUMBER_VOYELLES = 6;



    public static final int NUMBER_CONSONNES = 10;




    // Générer un mot de 16 lettres tellesque il y a exactement 6 voyelles





    // Et les autres (10 lettres) sont des consonnes.




    public static String generate () {



       char [] array = new char [LENGTH];



       Arrays.fill (array, '#');



       Random random = new Random (System.currentTimeMillis ());




       // Générer les 6 lettres voyelles



       for (int i = 0; i < NUMBER_VOYELLES; ++i) {



          char voyelle = VOYELLES.charAt (random.nextInt (
NUMBER_VOYELLES
));



          while (true) {



              int index = random.nextInt (LENGTH);



              if (array[index] == '#') {



                   array [index] = voyelle;



                   break;




              } 




          }




        }




       

// Générer les 10 lettres consonnes




       for (int i = 0; i <
NUMBER_CONSONNES
; ++i) {



          char consonne = VOYELLES.charAt (random.nextInt (
NUMBER_CONSONNES
));



          while (true) {



              int index = random.nextInt (LENGTH);



              if (array[index] == '#') {



                   array [index] = consonne;



                   break;




              } 




          }




        }



        return Arrays.toString (array);




    }




}




__________________________________________________________
A.B. :  La lumière voyage plus vite que le son. C'est pourquoi certaines personnes paraissent brillantes jusqu'à ce qu'elles commencent à parler ...
0
Rejoignez-nous