Jeu de casse briques en javascript

  Activité 1: Javascript, jeu de casse briques



I. Introduction à jsfiddle

https://jsfiddle.net/


II. Programmation par étapes du jeu de casse-briques

Les différentes étapes peuvent se faire sur jsfiddle, pour chacune des petits jeux/exercices permettent de vous assurer d'avoir bien compris le code.


https://developer.mozilla.org/fr/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Create_the_Canvas_and_draw_on_it

a- Création de la page HTML et de l'objet canvas

exercice : Changer le titre de la page html par un titre que vous choisissez
exercice : Changer le code pour obtecir un objet canvas de 400 pixels x 400 pixels

b- Code javascript, création des variable pour manipuler l'objet canvas:

exercice : simplifiez en une ligne l'expression :

var canvas = document.getElementById("myCanvas");

var ctx = canvas.getContext("2d");


c- Dessin sur le canvas : rectangle, cercle, remplissage:

exercice : créer 10 cercles d'un diamètre de 10 pixels sur une ligne horizontale à a position y = 20 pixels en utilisant une boucle FOR :

for (let compteur = 0; compteur < 10; compteur ++) {

 }

exercice : créer 20 cercles d'un diamètre de 3 pixels sur une ligne horizontale à a position y = 20 pixels en utilisant une boucle WHILE :

let compteur = 10;

while (compteur < 20) {

  compteur ++;

}




https://developer.mozilla.org/fr/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Move_the_ball

a - Création de la boucle de dessin

b - Déplacement de la balle

exercice : changer la vitesse de déplacement de la balle
exercice : D'après le code, quelle est, en pixel par seconde, la vitesse de la balle ?

c - Mise à jour du canvas à chaque image

exercice : faites en sorte que le canvas soit nettoyé seulement une image sur 2.
exercice : changer les noms des fonctions draw(..) et drawball(..) par des noms de votre choix
exercice : créer un fichier html et faites tourner votre code dans votre navigateur



https://developer.mozilla.org/fr/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Bounce_off_the_walls

a - Detection des collisions

exercice : dessiner une balle carré
exercice : changez le nom de la variable 'ballRadius' par 'rayonDeLaBalle'

b - Rebondir en haut et en bas

c - rebondir à droite et à gauche

exercice : changez le code pour que la balle rebondisse seulement sur le coté droit et gauche
                 lorsqu'elle dépasse les bords haut et bas elle se retrouve sur le côté opposé.

exercice : puis faites en sorte que la balle ne rebondisse jamais mais se retrouve toujours dans l'écran (si elle touche le mur droit, elle doit ré-apparaître à gauche...)

d - Detecter les collisions

exercice : Faites tourner votre code dans votre fichier .html local.



https://developer.mozilla.org/fr/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript/Paddle_and_keyboard_controls

a - Création de la raquette pour taper la balle.

exercice : changer le nom des variables 'paddleHeight', 'paddleWidth', 'paddleX' pour des noms plus explicites de votre choix (en français)

b - Contrôle de la raquette par l'utilisateur:


exercice 
: changer le nom des variables 'rightPressed', 'leftPressed', 'paddleX' pour des noms plus explicites de votre choix (en français)


exercice : changer le nom des fonctions 'keyDownHandler' et 'keyUpHandler' pour des noms plus explicites de votre choix (en français)

c - Logique du déplacement de la raquette

exercice : faites tourner votre code dans votre fichier .html et dans le navigateur.


ETAPE 5 : Fin de partie

a - Intégrer une fin de partie

exercice : faire en sorte que la fin de partie se produise juste si la balle touche les 50 premiers pixels à gauche du sol.


b - Faire rebondir la balle sur la raquette

exercice : Faites en sorte que la balle accélère quand elle touche la raquette.




a - Mettre en place les variables "Brique"

exercice :
changer les noms de variables necessaires à la construction des briques pour qu'elle soient plus explicites (noms en français).

b - Logique de dessin des briques

exercice :
changer le nom de la fonction drawBricks en un nom plus explicite de votre choix
exercice : réécrire la fonction drawBricks en utilisant deux boucle WHILE.
exercice : réécrire la fonction drawBricks en utilisant une boucle FOR et une boucle WHILE.

c - Afficher les briques



                                                        ETAPE 7: Collisions

a - 
Une fonction de détection de collision
exercice :
réécrire la fonction 
collisionDetection() en utilisant des boucles WHILE b - Faire disparaître les briques après qu'elles aient été touchées exercice ( difficile !) : faire en sorte que les briques soient dessinées en deux couleurs tirées au hasard lors de la créations des briques. c - Suivi et mise à jour de l'état dans la fonction de détection de collision                                                          
                                                 ETAPE 8: Suivi du score


a - Compter le score
exercice : faites en sorte que le score soit écrit sur un fond violet.
exercice : faites en sorte que le score soit écrit en bas et à droite de l'écran.

b - Affichage d'un message gagnant lorsque toutes les briques ont été détruites



                                                       ETAPE 9: Suivi du score

a - Écouter le mouvement de la souris
b - Ancrage du mouvement de la palette au mouvement de la souris

exercice : Augmenter la sensibilité de la souris



                                                        ETAPE 10: FIN !!!

a - Donner des vies au joueur
b - Rendu de l'affichage des vies
exercice : Changer la couleur de fond du rendu du nombre de vies et faites en sorte que le rendu soit fait en haut et à droite de l'écran.


exercice supplémentaire (POUR LES CHAMPIONS) : Modifier le code pour qu'il y ait 2 balles au lieu d'une.

     


keyDownHandler
keyDownHandler




Posts les plus consultés de ce blog

Activité: Jeu du serpent en python