Déplacement balle


Touche F1 pour activer la balle vers la droite.
Touche F2 pour lancer la balle vers le haut.
Touche enter pour stopper l'animation.

Pour les mobiles et les tablettes, appuyer sur l'animation.




Passer la valeur 0 aux variables dbx et dby afin d'immobiliser la balle à sa position de départ.


Enregistrer le code dans l'éditeur.
Actualiser la page du navigateur.




Nous allons donc choisir la touche up ('flèche haut' du clavier) pour son déplacement vers le haut et la touche right ('flèche droite' du clavier) pour son déplacement vers la droite.





Déclarer les variables upPressed et rightPressed.

upPressed ('flèche haut' pressée) pour cibler la touche up ('flèche haut' du clavier).
Nous lui attribuons la valeur false (faux) qui correspond à son état initial.

rightPressed ('flèche droite' pressée) pour cibler la touche right ('flèche droite' du clavier).
Nous lui attribuons la valeur false (faux) qui correspond à son état initial.




La méthode addEventListener (écouteur d'évenement)

Cette méthode permet de savoir si le joueur presse une touche du clavier.

Placer 2 écouteurs d'évenements.

document.addEventListener ("keydown", keyDown)
Le premier "keydown", chargé de lancer la fonction keyDown() si il détecte que la touche est pressée.

document.addEventListener ("keyup", keyUp)
Le second "keyup", chargé de lancer la fonction keyUp() si il détecte que la touche est non pressée.





Créer les fonctions keyDown() et keyUp().

Ces fonctions vont prendre pour argument l'indice (e) qui correspond au code de reconnaissance de chaque touche du clavier.

Le code pour la touche up est le 38.

Le code pour la touche right est le 39.

Dans ces fonctions, nous allons utiliser l'instruction if, else if (si, autre si) qui va exécuter le code si la condition soumise est vraie.

Si la touche up est pressée l'écouteur d'évenement "keydown" va lancer l'exécution de la fonction keyDown().
La fonction keyDown() va déclarer la condition
if (e.keyCode == 38) vraie et exécuter le code upPressed = true (vrai)

Si la touche up n'est pas pressée l'écouteur d'évenement "keyup" va lancer l'exécution de la fonction keyUp().
La fonction keyUp() va déclarer la condition
if (e.keyCode == 38) vraie et exécuter le code upPressed = false (faux)

Même chose pour la touche right.





Créer la fonction moveBall().

if (by > 289)
Si by (coordonnée y de la balle) est supérieure à 289.
dby = 0
dby (la vitesse de déplacement vertical de la balle) est égale à 0.
by = 289
by est égale à 289.

if(upPressed)
Si la touche up est pressée.
dby = -4
dby est égale à -4.

if(by < 11)
Si by est infèrieur à 11.
dby = -dby
dby (le sens de déplacement vertical de la balle) est inversée.

if(rightPressed)
Si la touche right est pressée.
dbx = 4
dbx (la vitesse de déplacement horizontal de la balle) est égale à 4.

if(bx > 389)
Si bx est supérieure à 389.
dbx = -dbx
dbx (le sens de déplacement horizontal de la balle) est inversée.

if(bx < 11)
Si bx est inférieure à 11.
dbx = -dbx
dbx (le sens de déplacement horizontal de la balle) est inversée.





Appeler la fonction moveBall() dans la fonction jeu().

Enregistrer le code dans l'éditeur.
Actualiser la page du navigateur.