IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Afficher 3 lettres de l'alphabet aléatoirement en PHP


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Par défaut Afficher 3 lettres de l'alphabet aléatoirement en PHP
    Bonjour,

    Je suis en train de créer en PHP un jeu, qui consiste à deviner quelle est la traduction d'une lettre de l'alphabet du langage LSF parmi 3 lettre de l'alphabet français.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <!-- Le code suivant sert à définir les 26 images des lettres de l'alphabet LSF possibles 
    				pour l'affichage et aussi à choisir l'une d'elle parmi elles aléatoirement.
    					Le nom de l'image qui va etre affichée est stocké dans la variable affimage.-->
    					<?php
    						$nbimages=26;
    						$nomimages[1]="A.PNG";
    						$nomimages[2]="B.PNG";
    						$nomimages[3]="C.PNG";
    						$nomimages[4]="D.PNG";
    						$nomimages[5]="E.PNG";
    						$nomimages[6]="F.PNG";
    						$nomimages[7]="G.PNG";
    						$nomimages[8]="H.PNG";
    						$nomimages[9]="I.PNG";
    						$nomimages[10]="J.PNG";
    						$nomimages[11]="K.PNG";
    						$nomimages[12]="L.PNG";
    						$nomimages[13]="M.PNG";
    						$nomimages[14]="N.PNG";
    						$nomimages[15]="O.PNG";
    						$nomimages[16]="P.PNG";
    						$nomimages[17]="Q.PNG";
    						$nomimages[18]="R.PNG";
    						$nomimages[19]="S.PNG";
    						$nomimages[20]="T.PNG";	
    						$nomimages[21]="U.PNG";
    						$nomimages[22]="V.PNG";
    						$nomimages[23]="W.PNG";
    						$nomimages[24]="X.PNG";
    						$nomimages[25]="Y.PNG";
    						$nomimages[26]="Z.PNG";					
    						srand((double)microtime()*1000000);
    						$affimage=rand(1,$nbimages);
    						/*Ici on met le code qui permet d'afficher 3 lettres de l'alphabet aléatoirement
    					mais l'une d'elle est la traduction de l'image affichée plus haut dans le visuel*/
    						$alphabet="abcdefghijklmnopqrstuvwxyz";
    						$nbrlettre=3;
    						$lettre_aleatoire[1]=$alphabet[rand(0,25)];
    						$lettre_aleatoire[2]=$alphabet[rand(0,25)];
    						$lettre_aleatoire[3]=$alphabet[rand(0,25)];
    						$affilettre=rand(3,$nbrlettre); 						
    					?>
    					<!--Ensuite, on demande l'affichage de l'image en lui meme :-->
    					<div>
    						<img id="imageLSF" src="images/Alphabet/<?php echo $nomimages[$affimage]; ?>" alt="Image aléatoire">
    					</div>
    					<div>
    						<?php echo $lettre_aleatoire[$affilettre]; ?>
    					</div>					
     
    					<!-- -->
    Comment faire pour afficher aléatoirement 3 lettres de l'alphabet? J'arrive à en afficher qu'une seule.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    $nomimages = range('A','Z');
    $alphabet = range('a','z');
     
    // on tire une image
    $random_image = rand(0, count($nomimages) - 1);
    $image = $nomimages[$random_image];
     
    // le premier choix est la bonne réponse
    $lettres[] = $random_image;
     
    //on tire deux autres lettres
    $lettres = array_merge($lettres, array_rand(array_diff_key($alphabet, array($random_image)), 2));
     
    // on mélange
    shuffle($lettres);
     
    // on affiche
    echo '<img id="imageLSF" src="images/Alphabet/' . $image . '.PNG" alt="Image aléatoire" />';
    foreach ($lettres as $value) {
    	echo $alphabet[$value];
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Par défaut
    Merci, c'est gentil,
    Je n'ai eu le temps que de regarder brièvement le résultat de ce que tu proposes,
    j'ai réussi à afficher mes 3 lettres en mode aléatoire, sans qu'aucune de ces 3 lettres ne soit identiques.
    Voila tout mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    				<!-- Le code suivant sert à définir les 26 images des lettres de l'alphabet LSF possibles 
    				pour l'affichage et aussi à choisir l'une d'elle parmi elles aléatoirement.
    					Le nom de l'image qui va etre affichée est stocké dans la variable affimage.-->
    					<?php
    						$nbimages=26;
    						$nomimages[1]="A.PNG";
    						$nomimages[2]="B.PNG";
    						$nomimages[3]="C.PNG";
    						$nomimages[4]="D.PNG";
    						$nomimages[5]="E.PNG";
    						$nomimages[6]="F.PNG";
    						$nomimages[7]="G.PNG";
    						$nomimages[8]="H.PNG";
    						$nomimages[9]="I.PNG";
    						$nomimages[10]="J.PNG";
    						$nomimages[11]="K.PNG";
    						$nomimages[12]="L.PNG";
    						$nomimages[13]="M.PNG";
    						$nomimages[14]="N.PNG";
    						$nomimages[15]="O.PNG";
    						$nomimages[16]="P.PNG";
    						$nomimages[17]="Q.PNG";
    						$nomimages[18]="R.PNG";
    						$nomimages[19]="S.PNG";
    						$nomimages[20]="T.PNG";	
    						$nomimages[21]="U.PNG";
    						$nomimages[22]="V.PNG";
    						$nomimages[23]="W.PNG";
    						$nomimages[24]="X.PNG";
    						$nomimages[25]="Y.PNG";
    						$nomimages[26]="Z.PNG";					
    						srand((double)microtime()*1000000);
    						$affimage=rand(1,$nbimages);
    						/*Ici on met le code qui permet d'afficher 3 lettres de l'alphabet aléatoirement
    						mais l'une d'elle est la traduction de l'image affichée plus haut dans le visuel*/
    						$alphabet="abcdefghijklmnopqrstuvwxyz";
    						//$nbrlettre=3;
    						$lettre_aleatoire[1]=$alphabet[rand(0,25)];
    						$lettre_aleatoire[2]=$alphabet[rand(0,25)];
    						$lettre_aleatoire[3]=$alphabet[rand(0,25)];
    						//$affilettre=rand(3,$nbrlettre);
    					?>
    					<div>
    					<!--Ensuite, on demande l'affichage de l'image en lui meme :-->					
    					<img id="imageLSF" src="images/Alphabet/<?php echo $nomimages[$affimage]; ?>" alt="Image aléatoire">
    					</div>
    					<div>
    						<?php /*On affiche les 3 lettres de l'aphabet mais on fait en sorte qu'elles soient bien différentes*/ 
    							for ($i=1; $i<4; $i++){
    							echo  $lettre_aleatoire[$i];
    							}
    						?>
    Maintenant je vais m'atteler à faire en sorte qu'une de ces lettre soit la bonne car le but du jeu que je crée, c'est que l'utilisateur clique sur la lettre de l'alphabet qui lui semble être la bonne traduction de l'image LSF. Si il clique sur la mauvaise alors le message suivant s'affichera "Mauvaise réponse, essaye encore." et si il a cliqué sur la bonne traduction alors, le message suivant s'affichera: "Bravo, continue de jouer, jusqu'a 5 lettres à deviner". Au bout de 5 lettre dévinées, le joueur peut passer à un autre niveau.

    Du coup ce que tu m'as répondu va surement m'aider pour ça.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Par défaut faire correspondre une image à une lettre.
    Bonjour,

    je souhaite que l'une des 3 lettres de l'alphabet français qui s'affiche doit correspondre à l'image LSF qui s'affiche et je n'y arrive pas.

    Le but du jeu que je crée, c'est que l'utilisateur clique sur la lettre de l'alphabet qui lui semble être la bonne traduction de l'image LSF. Si il clique sur la mauvaise alors le message suivant s'affichera "Mauvaise réponse, essaye encore." et si il a cliqué sur la bonne traduction alors, le message suivant s'affichera: "Bravo, continue de jouer, jusqu'a 5 lettres à deviner". Au bout de 5 lettre dévinées, le joueur peut passer à un autre niveau.

    Voila mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    				<!-- Le code suivant sert à définir les 26 images des lettres de l'alphabet LSF possibles 
    				pour l'affichage et aussi à choisir l'une d'elle parmi elles aléatoirement.
    					Le nom de l'image qui va etre affichée est stocké dans la variable affimage.-->
    					<?php
    						$nbimages=26;
    						$nomimages[1]="A.PNG";
    						$nomimages[2]="B.PNG";
    						$nomimages[3]="C.PNG";
    						$nomimages[4]="D.PNG";
    						$nomimages[5]="E.PNG";
    						$nomimages[6]="F.PNG";
    						$nomimages[7]="G.PNG";
    						$nomimages[8]="H.PNG";
    						$nomimages[9]="I.PNG";
    						$nomimages[10]="J.PNG";
    						$nomimages[11]="K.PNG";
    						$nomimages[12]="L.PNG";
    						$nomimages[13]="M.PNG";
    						$nomimages[14]="N.PNG";
    						$nomimages[15]="O.PNG";
    						$nomimages[16]="P.PNG";
    						$nomimages[17]="Q.PNG";
    						$nomimages[18]="R.PNG";
    						$nomimages[19]="S.PNG";
    						$nomimages[20]="T.PNG";	
    						$nomimages[21]="U.PNG";
    						$nomimages[22]="V.PNG";
    						$nomimages[23]="W.PNG";
    						$nomimages[24]="X.PNG";
    						$nomimages[25]="Y.PNG";
    						$nomimages[26]="Z.PNG";					
    						srand((double)microtime()*1000000);
    						$affimage=rand(1,$nbimages);
    						/*Ici on met le code qui permet d'afficher 3 lettres de l'alphabet aléatoirement
    						mais l'une d'elle est la traduction de l'image affichée plus haut dans le visuel*/
    						$alphabet="abcdefghijklmnopqrstuvwxyz";
    						//$nbrlettre=3;
    						$lettre_aleatoire[1]=$alphabet[rand(0,25)];
    						$lettre_aleatoire[2]=$alphabet[rand(0,25)];
    						$lettre_aleatoire[3]=$alphabet[rand(0,25)];
    						//$affilettre=rand(3,$nbrlettre);
     
    					?>
    					<div>
    					<!--Ensuite, on demande l'affichage de l'image en lui meme :-->					
    					<img id="imageLSF" src="images/Alphabet/<?php echo $nomimages[$affimage]; ?>" alt="Image aléatoire">
    					</div>
    					<div>
    						<?php /*On affiche les 3 lettres de l'aphabet mais on fait en sorte qu'elles soient bien différentes*/ 
    							for ($i=1; $i<4; $i++){
    								echo  $lettre_aleatoire[$i];
    							}			
    						?>
    J'ai essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lettre_aleatoire[1]=$alphabet[$affimage];
    Mais cela ne fonctionne absolument pas.

  5. #5
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    Une soluce est d'utiliser str_shuffle(), hésite pas si problème de compréhension :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
     
    $alphabet="abcdefghijklmnopqrstuvwxyz";
    $melange = str_shuffle($alphabet);
     
    $lettres = str_shuffle(substr($melange, 0, 3));
     
    ?>
    <div><img id="imageLSF" src="images/Alphabet/<?php echo $melange[0]; ?>.png"></div>
    <?php
    for ($i=0; $i<strlen($lettres); $i++){
        echo $lettres[$i];
    }			
    ?>
    Bye

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Par défaut
    Merci beaucoup!!
    Cela fonctionne parfaitement!!

    Voici mon code donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    				<!-- Le code suivant sert à définir les 26 images des lettres de l'alphabet LSF possibles 
    				pour l'affichage et aussi à choisir l'une d'elle parmi elles aléatoirement.
    					Le nom de l'image qui va etre affichée est stocké dans la variable affimage.-->
    					<?php
    						$nbimages=26;
    						$nomimages[1]="A.PNG";
    						$nomimages[2]="B.PNG";
    						$nomimages[3]="C.PNG";
    						$nomimages[4]="D.PNG";
    						$nomimages[5]="E.PNG";
    						$nomimages[6]="F.PNG";
    						$nomimages[7]="G.PNG";
    						$nomimages[8]="H.PNG";
    						$nomimages[9]="I.PNG";
    						$nomimages[10]="J.PNG";
    						$nomimages[11]="K.PNG";
    						$nomimages[12]="L.PNG";
    						$nomimages[13]="M.PNG";
    						$nomimages[14]="N.PNG";
    						$nomimages[15]="O.PNG";
    						$nomimages[16]="P.PNG";
    						$nomimages[17]="Q.PNG";
    						$nomimages[18]="R.PNG";
    						$nomimages[19]="S.PNG";
    						$nomimages[20]="T.PNG";	
    						$nomimages[21]="U.PNG";
    						$nomimages[22]="V.PNG";
    						$nomimages[23]="W.PNG";
    						$nomimages[24]="X.PNG";
    						$nomimages[25]="Y.PNG";
    						$nomimages[26]="Z.PNG";					
    						srand((double)microtime()*1000000);
    						$affimage=rand(1,$nbimages);
    						/*Ici on met le code qui permet d'afficher 3 lettres de l'alphabet aléatoirement
    						mais l'une d'elle est la traduction de l'image affichée plus haut dans le visuel*/
    						$alphabet="abcdefghijklmnopqrstuvwxyz";
    						$melange = str_shuffle($alphabet);
    						$lettres = str_shuffle(substr($melange, 0, 3));
    					?>
    						<div><img id="imageLSF" src="images/Alphabet/<?php echo $melange[0]; ?>.png"></div>
    					<?php
    						for ($i=0; $i<strlen($lettres); $i++){
    							echo $lettres[$i];
    						}			
    					?>
    Bonne journée !

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $alphabet = range('A','Z');
    $tirage = array_rand($alphabet, 3);
    $reponse = array_rand($tirage, 1);
     
    echo '<div><img id="imageLSF" src="images/Alphabet/' . $alphabet[$tirage[$reponse]] . '.png"></div>';
    foreach ($tirage as $lettre) {
         echo $alphabet[$lettre];
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Par défaut
    Bon alors voila,

    J'ai avancé, maintenant j'arrive à afficher mes trois lettres de l'alphabet français aléatoirement et je peux même faire un clic dessus mais j'ai un problème.
    Si je clique sur la première des 3 lettres (située tout à gauche, j'ai bien un message qui s'affiche. Mia si je clique sur l'une des deux autres, je n'ai aucun message.
    Comment résoudre ce problème?

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    					<?php
    						$nbimages=26;
    						$nomimages[1]="A.PNG";
    						$nomimages[2]="B.PNG";
    						$nomimages[3]="C.PNG";
    						$nomimages[4]="D.PNG";
    						$nomimages[5]="E.PNG";
    						$nomimages[6]="F.PNG";
    						$nomimages[7]="G.PNG";
    						$nomimages[8]="H.PNG";
    						$nomimages[9]="I.PNG";
    						$nomimages[10]="J.PNG";
    						$nomimages[11]="K.PNG";
    						$nomimages[12]="L.PNG";
    						$nomimages[13]="M.PNG";
    						$nomimages[14]="N.PNG";
    						$nomimages[15]="O.PNG";
    						$nomimages[16]="P.PNG";
    						$nomimages[17]="Q.PNG";
    						$nomimages[18]="R.PNG";
    						$nomimages[19]="S.PNG";
    						$nomimages[20]="T.PNG";	
    						$nomimages[21]="U.PNG";
    						$nomimages[22]="V.PNG";
    						$nomimages[23]="W.PNG";
    						$nomimages[24]="X.PNG";
    						$nomimages[25]="Y.PNG";
    						$nomimages[26]="Z.PNG";
    						/*rand génère une valeur aléatoire.
    						Initialisation du random (les microsecondes sont une valeur donnée au millionnième 
    						-> Multiplier par 1 million pour avoir un entier*/					
    						srand((double)microtime()*1000000);
    						/*rand génère une valeur aléatoire*/
    						$affimage=rand(1,$nbimages);
    						/*Ici on met le code qui permet d'afficher 3 lettres de l'alphabet aléatoirement
    						mais l'une d'elle est la traduction de l'image affichée plus haut dans le visuel*/
    						$alphabet="abcdefghijklmnopqrstuvwxyz";
    						/*str_shuffle mélange les caractères d'une chaîne de caractères*/
    						$melange = str_shuffle($alphabet);
    						/*substr retourne un segment de chaîne*/
    						$lettres = str_shuffle(substr($melange, 0, 3));
    					?>
    						<div><img id="imageLSF" src="images/Alphabet/<?php echo $melange[0]; ?>.png"></div>
    					<?php
    						/*strlen calcule la taille d'une chaîne*/
    						for ($i=0; $i<strlen($lettres); $i++){
    						echo '<a href="#" class="lettre">'.$lettres[$i].'</a>';
    						}	
    						/* ici on mémorise en javascript la lettre choisie
    						- document.querySelector retourne le premier élément dans le document(en partant du premier niveau du html et ordonné comme les éléments 
    							du document) qui correspond au groupe de sélecteurs passés en paramètre.
    						- addEventListener permet l'assignation de gestionnaires d'évènements sur un élément cible.
    						- innertText : récupère le contenu entre deux balises sans interprétation des balises contenu dans le texte 
    							(supprime toutes la balises contenues dans le texte récupéré).*/
    						echo '<script type="text/javascript">lettreChoisie="'.$melange[0].'";
    						document.querySelector("a.lettre").addEventListener("click", testerLettre);
    						function testerLettre(event) {
    							if (event.target.innerText===lettreChoisie) {
    								// bon résultat
    								var B="Bravo! tu as trouvé la bonne lettre.";
    								alert(B);
    							} else {
    								// mauvais résultat
    								var m="Mauvaise réponse! Essaye encore.";
    								alert(m);
    							}
    						}
    						</script>';
    					?>

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Par défaut
    Ouf ça y est! J'ai résolu mon soucis.
    Voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    				<!-- Le code suivant sert à définir les 26 images des lettres de l'alphabet LSF possibles 
    				pour l'affichage et aussi à choisir l'une d'elle parmi elles aléatoirement.
    					Le nom de l'image qui va etre affichée est stocké dans la variable affimage.-->
    					<?php
    						$nbimages=26;
    						$nomimages[1]="A.PNG";
    						$nomimages[2]="B.PNG";
    						$nomimages[3]="C.PNG";
    						$nomimages[4]="D.PNG";
    						$nomimages[5]="E.PNG";
    						$nomimages[6]="F.PNG";
    						$nomimages[7]="G.PNG";
    						$nomimages[8]="H.PNG";
    						$nomimages[9]="I.PNG";
    						$nomimages[10]="J.PNG";
    						$nomimages[11]="K.PNG";
    						$nomimages[12]="L.PNG";
    						$nomimages[13]="M.PNG";
    						$nomimages[14]="N.PNG";
    						$nomimages[15]="O.PNG";
    						$nomimages[16]="P.PNG";
    						$nomimages[17]="Q.PNG";
    						$nomimages[18]="R.PNG";
    						$nomimages[19]="S.PNG";
    						$nomimages[20]="T.PNG";	
    						$nomimages[21]="U.PNG";
    						$nomimages[22]="V.PNG";
    						$nomimages[23]="W.PNG";
    						$nomimages[24]="X.PNG";
    						$nomimages[25]="Y.PNG";
    						$nomimages[26]="Z.PNG";
    						/*rand génère une valeur aléatoire.
    						Initialisation du random (les microsecondes sont une valeur donnée au millionnième 
    						-> Multiplier par 1 million pour avoir un entier*/					
    						srand((double)microtime()*1000000);
    						/*rand génère une valeur aléatoire*/
    						$affimage=rand(1,$nbimages);
    						/*Ici on met le code qui permet d'afficher 3 lettres de l'alphabet aléatoirement
    						mais l'une d'elle est la traduction de l'image affichée plus haut dans le visuel*/
    						$alphabet="abcdefghijklmnopqrstuvwxyz";
    						/*str_shuffle mélange les caractères d'une chaîne de caractères*/
    						$melange = str_shuffle($alphabet);
    						/*substr retourne un segment de chaîne*/
    						$lettres = str_shuffle(substr($melange, 0, 3));
    					?>
    						<div><img id="imageLSF" src="images/Alphabet/<?php echo $melange[0]; ?>.png"></div>
    					<?php
    						/*strlen calcule la taille d'une chaîne*/
    						for ($i=0; $i<strlen($lettres); $i++){
    						echo '<a href="#" class="lettre">'.$lettres[$i].'</a>';
    						}	
    						/* ici on mémorise en javascript la lettre choisie
    						- document.querySelector retourne le premier élément dans le document(en partant du premier niveau du html et ordonné comme les éléments 
    							du document) qui correspond au groupe de sélecteurs passés en paramètre.
    							Le mieux c'est d'utiliser querySelectorAll va retourner un tableau, 
    							on va devoir faire une boucle for dessus et ajouter l’événement pour chaque élément.
    						- addEventListener permet l'assignation de gestionnaires d'évènements sur un élément cible.
    						- innertText : récupère le contenu entre deux balises sans interprétation des balises contenu dans le texte 
    							(supprime toutes la balises contenues dans le texte récupéré).*/
    						echo '<script type="text/javascript">lettreChoisie="'.$melange[0].'";
    						var lettre = document.querySelectorAll("a.lettre"); 
    						for ($i=0; $i<3; $i++){
    						lettre[$i].addEventListener("click", testerLettre);
    						} 
    						function testerLettre(event) {
    							if (event.target.innerText===lettreChoisie) {
    								// bon résultat
    								var B="Bravo! tu as trouvé la bonne lettre.";
    								alert(B);
    							} else {
    								// mauvais résultat
    								var m="Mauvaise réponse! Essaye encore.";
    								alert(m);
    							}
    						}
    						</script>';
    					?>

  10. #10
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut,

    l'initialisation de ton tableau de départ se résume en une ligne au lieu de 26
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nomimages = array_combine(range(1, 26), array_map(function($p) { return $p.'.PNG'; }, range('A', 'Z')));

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 19
    Par défaut
    Merci .

    Je suis contente, après plusieurs semaines j'ai réussi à terminer la création de mon mini jeu. Tout fonctionne superbement bien.

    Merci encore pour vous aides !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/12/2007, 20h56
  2. [SQL] SCRIPT pour avoir une navigation avec les lettres de l'alphabet
    Par gantec dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 20/09/2007, 08h45
  3. Afficher la lettre A en moins de 19 octets
    Par raymonf dans le forum Assembleur
    Réponses: 3
    Dernier message: 29/11/2006, 03h55
  4. Réponses: 4
    Dernier message: 15/09/2005, 13h48
  5. Afficher la lettre suivante
    Par Invité dans le forum ASP
    Réponses: 9
    Dernier message: 22/04/2005, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo