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

LAHOYASHRA
Invité n'ayant pas de compte PHPfrance

25 mars 2016, 13:06

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.

<!-- 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.

Mammouth du PHP | 2703 Messages

25 mars 2016, 15:46

réponse peut-être trop rapide :
<?php echo $lettre_aleatoire[1]; ?>
<?php echo $lettre_aleatoire[2]; ?>
<?php echo $lettre_aleatoire[3]; ?>

LAHOYASHRA
Invité n'ayant pas de compte PHPfrance

25 mars 2016, 17:47

Oui, merci quand même pour la réponse mais c'est vrait que c'était un peu trop rapide. :)
Je cherchais à afficher 3 lettres de l'alphabet en mode aléatoire, de sorte qu'aucune de ces 3 lettres ne soient identiques.

J'ai trouvé la solution en me creusant bien la tête. :D

Voila mon code:

Code : Tout sélectionner

<!-- 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]; } ?>
Bon, maintenant, dans mon code il va falloir que je mette quelque chose pour dire que l'une des 3 lettres de l'alphabet français qui s'affiche doit correspondre à l'image LSF qui s'affiche. Pour l'instant je n'y arrive pas.
Mais je suis déja contente d'en être arrivée la. Maintenant je passe à l'étape suivante: je souhaite que l'une des 3 lettres de l'alphabet français qui s'affiche doit correspondre à l'image LSF qui s'affiche.

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.