Rappel
Il est important de gérer les différents langages étudiés en cours
dans différents fichiers séparés. Ils sont liés ensemble dans le fichier
.html
- Lien fichier css séparé :
<link rel="stylesheet" type="text/css" href="monFichier.css"/>
<script type="text/javascript" src="monFichier.js"></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Le Titre</title>
</head>
<body>
</body>
</html>
- À propos de Javascript :
- Dès qu’il voit une erreur, il arrête de s’exécuter.
- Ne pas oublier d’aller dans la console
- Ne pas avoir peur d’utiliser des
console.log()
pour le
debbugage (cela affiche dans la console)
Exercice 1 : Fibonacci
L’objectif est d’écrire une fonction fibonacci qui calcule le n^e
élément de la suite de Fibonacci. Créer une page web qui a son
chargement affiche une pop-up de saisie qui demande le rang de la suite
puis affiche dans la page “A XX heures XX min, le n^e terme de la suite
de Fibonnacci est XX”.
Ici, XX heures XXmin étant l’heure à laquelle le script est
exécuté.
Le texte doit s’afficher :
- Dans une zone Noire avec une bordure en pointillés bleu
- Avec une police Blanche, le texte étant centré dans la zone
- Le n est affiché en italique, le résultat en gros et gras, le détail
du “e” en exposant doit apparaître.
TIPS
- Pour demander à un utilisateur une entrée texte en javascript :
/* l'entier saisi par l'utilisateur est stocké */
n = prompt("saisissez un rang");
- Pour afficher une information dans la console :
console.log(n); /* affiche le contenu, dans la console, de la variable n */
console.log(45);
/* Ici, on rajoute dynamiquement une div dans not */
document.write("<div id='maDiv'>");
document.write("la variable est "+n.toString());
document.write("</div'>");
- Récupérer la date en cours pour l’heure (doc)
d = new Date();
console.log(d.getHours());
console.log(d.getMinutes());
Exercice 2 : Les DVDs en
mouvement
Vous pouvez capter certains évènements de la souris sur la balise
<img>
. Il suffit de renseigner un comportement pour
les
attributs onclick
,
onmouseover
ou
onmouseout
.
Étape 1 : Du mouvement …
- Créer une page .html
- Insérer une image correspondant à une affiche de DVD (utilisée dans
le TP précédent, par exemple).
- Faire en sorte que lorsque la souris passe au dessus de l’image,
celle-ci change par celle ci, puis
lorsque la souris quitte l’image, la première se raffiche.
Étape 2 : De l’info
Étape 3 : Le changement
- Ajouter le bouton suivant à votre page :
<input type="button" id="idbouton" name="nombouton" value="Texte du bouton" onclick="changement()"/>
Avec les différentes images de films utilisées dans le TP précédent,
vous allez créer une génération aléatoire d’image sur clic de bouton
:
- Créer une fonction javascript “changement” qui génère aléatoirement
un nombre entre 0 et n (nombre d’image de film que vous avez !). Cela va
nous permettre de choisir entre les n images.
- Ajouter à cette fonction, la modification de l’attribut
"src"
et "id"
de la balise
<img>
avec le nombre généré aléatoirement. Exemple
:
- Si la fonction tire le nombre 1,
- Alors, la balise
<img>
devra avoir les
informations suivantes :
<img src="img/DVD1.png" id="1">
- Enrichisser la fonction information afin qu’elle donne des infos sur
le DVD choisi (le résumé du film).
- Reprener la fonction de génération afin qu’elle modifie l’attribut
onclick
de l’image pour que les informations correspondent
avec le DVD choisi.
TIPS
- Pour changer la source d’une image en javascript :
/* Ici, on cherche toutes les balise <img> */
/* qui ont pour id "dvd" et on change la valeur de src */
document.images.dvd.src="img/new.jpg"
- Pour appeler, une fonction sur un clic de souris ###### Dans le
HTML
<img src="toto.png" onclick="changement()">
<p onclick="changement()"> coucou </p>
<input type="button" value="ok" onclick="changement()">
<div onclick="changement()> bonjour </div>
...
Dans le javascript
function changement(){
/* traitement */
...
}
Exercice 3 : Le morpion
Le jeu consiste à aligner 3 cartes de même symbole en ligne, colonne
ou diagonale. Vous trouverez dans
Archive, les images nécéssaire à
la réalisation de ce morpion.
- Créer, dans une page HTML, une table (balise
) 3×3 permettant d’afficher l’image retournée(fond.png) dans chaque
case.
- En Javascript, vous allez créer le déroulement du jeu en
implémentant les fonctions suivantes (à titre indicatif, pour vous
donner des pistes) :
- Une variable tableau de taille 9 contenant le tableau de jeu
- joue : permet lors d’un click, d’afficher l’image correspondant au
joueur en cours
- vérifie : qui vérifie si le coup est correct
- fin : permet de vérifier si le jeu est fini et d’afficher une pop-up
de fin, avec le vainqueur
- Créer un bouton “Recommencez” permettant de réinitialiser le
jeu
- BONUS : Créez une version 1 joueur VS ordinateur
TIPS
Ajouter un nom à une image
<img src="chemin.png" id="vrai" alt="nomNumero2" name="nomNumero1">
Pour
gagner une partie de morpion il y a plusieurs cas !
cas N ° 1
cas N ° 2
cas N ° 3
cas N ° 4
Cas N°1 : La ligne
Le joueur 1 a gagné car
maGrille[2][0]=maGrille[2][1]=maGrille[2][2]
Le joueur 1 a gagné car
maGrille[1][0]=maGrille[1][1]=maGrille[1][2]
Le joueur 1 a gagné car
maGrille[1][0]=maGrille[1][1]=maGrille[1][2]
On peut obtenir l’Algo suivant :
FONCTION verifligne (maGrille : matrice d'entier,
joueur : entier)
VARIABLES
res,i : entier
DEBUT
res <- 0 /* par défaut on perd */
/* pour les lignes */
Pour i allant de 0 à TAILLE FAIRE
SI maGrille[i][0]=maGrille[i][1]=maGrille[i][2]=joueur ALORS
res <- 1
FIN SI
FIN POUR
retourner res
FIN
Cas N ° 2 : La colonne
Le joueur 1 a gagné car
maGrille[0][0]= maGrille[1][0]= maGrille[2][0]
Le joueur 1 a gagné car
maGrille[0][1]= maGrille[1][1]= maGrille[2][1]
Le joueur 1 a gagné car
maGrille[0][2]= maGrille[1][2]= maGrille[2][2]
On peut obtenir l’Algo suivant :
FONCTION verifCol(maGrille : matrice d'entier,
joueur : entier)
VARIABLES
res,i : entier
DEBUT
res <- 0 /* par défaut on perd */
/* pour les colonnes */
Pour j allant de 0 à TAILLE FAIRE
SI maGrille[0][j]=maGrille[1][j]=maGrille[2][j]=joueur ALORS
res <- 1
FIN SI
FIN POUR
FIN
Cas N° 3 : La diagonale
Haut/bas
On peut obtenir l’Algo suivant :
FONCTION verifDiag1 (maGrille : matrice d'entier,
joueur : entier)
VARIABLES
res,i : entier
DEBUT
res <- 0 /* par défaut on perd */
Si (maGrille[0][0]=maGrille[1][1]=maGrille[2][2]=joueur)ALORS
res <- 1
FIN SI
FIN
Cas N° 4 : La diagonale
Bas/Haut
On peut obtenir l’Algo suivant :
FONCTION verifDiag2 (maGrille : matrice d'entier,
joueur : entier)
VARIABLES
res,i : entier
DEBUT
res <- 0 /* par défaut on perd */
Si (maGrille[0][2]=maGrille[1][1]=maGrille[2][0]=joueur)ALORS
res <- 1
FIN SI
FIN