Pour ce 2ème TD, nous allons voir les boucles, les conditions, les tableaux en faisant un petit détour par la fonction rand, tout en rendant une petite visite à nos amis de chez Naruto... 8-) Pour ceux qui n'ont pas eu trop de mal sur les exercices Javascript, vous n'aurez pas trop de mal non plus pour les exercices suivants : vous allez principalement traiter des boucles et des conditions. Si vous vous souvenez bien de for, while, foreach, if et else ça va être facile, sinon... ben accrochez vous ! :-| ====== Boucles ====== ===== exemple de boucle for ===== Que fait ce script ? le meilleur moyen de savoir, c'est de tester. '; $i++; } //methode for $chiffre = 3; for ($i=0; $i<$chiffre; $i++){ echo 'je fais ma boucle '.$i.'
'; } ?>
Si vous ne comprenez pas pourquoi, relisez l'[[amphi02]]. ===== Boucle for ===== === Une suite de nombres === A l'aide d'une boucle for, compter de 0 à 11 : (n'oubliez pas les balises
pour les sauts de ligne) 0 1 2 3 4 5 6 7 8 9 10 11 === Les mois de l'année === A l'aide du tableau ci-dessous, vous devez afficher le mois de mars : $annee = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'décembre'); Vous devez maintenant, avec le tableau ci-dessus et une boucle for, afficher tous les mois de l'année dans l'ordre : janvier février mars avril mai juin juillet aout septembre octobre novembre décembre === kiwi banane === Reprenons maintenant nos célébricimes kiwis et bananes: On commence simple: affichez 30 fois kiwi et 30 fois banane kiwi kiwi kiwi ... 30 fois banane banane banane ... 30 fois Maintenant, affichez 30 fois dans cet ordre : kiwi banane banane kiwi banane banane kiwi banane banane (30 fois donc) Pour finir, affichez 30 fois 10 kiwis suivis de 20 bananes, c'est à dire kiwi kiwi kiwi kiwi kiwi kiwi kiwi kiwi kiwi kiwi banane banane banane banane banane banane banane banane banane banane banane banane banane banane banane banane banane banane banane banane (30 fois de suite, donc) ====== Naruto ====== === Les perso et le Ninjutsu === 1/ Grâce au tableau ci-dessous et d'une boucle [[phpfn>foreach]], afficher le nom des personnages et leurs valeurs en Ninjustsu : $perso = array('Naruto'=>'3','Sakura'=>'2','RockLee'=>'0','Kakashi'=>'5'); Nom du personnage : Naruto Valeur en Ninjutsu : 3 Nom du personnage : Sakura Valeur en Ninjutsu : 2 Nom du personnage : RockLee Valeur en Ninjutsu : 0 Nom du personnage : Kakashi Valeur en Ninjutsu : 5 2/ En créant le ou les tableau(x), affichez le nom et la valeur en Ninjutsu de chacun des personnages : Utilisez ce lien pour vous aider : [[http://www.naruto-uzumaki.net/personnages-naruto.html]] === Les persos et toutes leurs compétences === 3/ :!: Exercice optionnel : a/ En utilisant le tableau ci-dessous, affichez le nom de chacun des 4 personnages (Naruto, RockLee, Sakura, Sasuke) avec chacune de leurs valeurs : $perso = array( array('nom' => 'Naruto', 'Ninjutsu' => '3', 'Taijutsu' => '2', 'Genjutsu' => '0', 'Force' => '4', 'Vitesse' => '3', 'Endurance' => '5'), array('nom' => 'RockLee', 'Ninjutsu' => '0', 'Taijutsu' => '5', 'Genjutsu' => '0', 'Force' => '3', 'Vitesse' => '4', 'Endurance' => '2'), array('nom' => 'Sakura', 'Ninjutsu' => '2', 'Taijutsu' => '2', 'Genjutsu' => '3', 'Force' => '0', 'Vitesse' => '0', 'Endurance' => '1'), array('nom' => 'Sasuke', 'Ninjutsu' => '3', 'Taijutsu' => '3', 'Genjutsu' => '1', 'Force' => '3', 'Vitesse' => '3', 'Endurance' => '4') ); b/ Faites de même pour tous les personnages de la page. LOL ====== Conditions ====== les conditions servent à faire des tests et des comparaisons. ===== if ===== if, en français, veut dire "si". La syntaxe ressemble à celle utilisée dans la langue Si a est plus grand que b alors if ($a > $b) { if sert à exécuter un code sous condition(s). Les conditions peuvent-être une comparaison comme dans les exemples ci-dessous : Ci-dessous on compare deux chiffres $first = 10; $second = 3; if($first == $second) { echo 'la condition égale est bonne'; } if($first != $second) { echo 'la condition différente est bonne'; } if($first < $second) { echo 'la condition inférieure est bonne'; } if($first > $second) { echo 'la condition supérieure est bonne'; } a/ A votre avis, quelles sont les conditions qui seront vérifiées? b/ Si $first = 15 et $second = 25, quelles seront les conditions qui seront vérifiées? Merci de le coder. ===== else ===== else, c'est sinon. Comme en français, le sinon existe que si le "si" a déjà été évoqué. **Si Naruto a plus de points que Kakashi en Ninjustsu, alors Naruto est plus fort que Kakashi, sinon c'est kakashi le plus fort !** if($a > $b) { echo 'a est le plus grand!'; } else { echo 'a n\'est pas le plus grand!'; } Tiens, justement, et si vous me codiez la comparaison entre Naruto et kakashi citée un peu plus haut et affichée en gras? ... LOL ====== Tirage aléatoire ====== a/ Nous allons simuler un site de tirage aléatoire de numéros de loto, le but est d'afficher des combinaisons de 6 chiffres entre 0 et 99 tels que : Tirage du loto - 16 - 20 - 66 - 3 - 7 - 89 Pour générer un nombre aléatoire entre 0 et 99, utilisez la fonction [[phpfn>|rand]]. Pour répéter cette opération 6 fois, utilisez une boucle for ou while. Il peut y avoir plusieurs fois le même chiffre qui sort, c'est un tirage aléatoire avec remise. Si vous avez envie de coder le même exercice sans remise, c'est plus compliqué mais possible. b/ Faites de même avec une suite de 500 chiffres compris entre 0 et 99 ====== Le Naruto moyen... (optionnel) ====== a/ Développer un petit script permettant d'additionner toutes les compétences de tous les personnages. c/ Une fois que vous avez le résultat de l'addition, en tirer une note moyenne. b/ Comparez le cumul des notes de compétence de chaque personnage par rapport à la moyenne précédemment calculée. Faite ceci comme suit en utilisant bien entendu des boucles et conditions. d/ Si la note du personnage est au dessus de la moyenne afficher le nom et la note du personnage en vert, sinon, l'afficher en rouge. ====== Ready ? Fight ! finish HIM!!!! ====== 1/ Créez un tableau regroupant tous les personnages de Naruto et leur valeur en Ninjutsu. 2/ Récupérer deux personnages de manière aléatoire. 3/ Afficher ces deux personnages et leur level de cette manière : Naruto : 5 en Ninjutsu VS Kakashi : 7 en Ninjutsu 4/ Comparez les niveaux en Ninjutsu 5/ Affichez qui est le gagnant ou s'il y a match nul **Pour ceux qui s'en sentent le courage, afficher la photo des personnages (optionnel)**