Collision avec les briques !

Nous allons utiliser à peu de chose près la même méthode pour tester les collisions avec les briques.

il faut tester la position en X et Y, de la balle par rapport aux briques.

La différence c’est que nous testerons le bas des briques cette fois.

Et que nous devrons parcourir toutes nos briques pour savoir quelles briques sont en collision avec la balle.

Nous utiliserons une méthode simple.

Parcourir les briques

Il faut parcourir le tableau 2D des briques.

Voyons déjà comment parcourir nos briques :

Nous utiliserons le même concept de boucle imbriquée, utiliser pour dessiner nos briques avec des variables locales X, Y, W et H pour les positions et dimensions de nos briques.

Maintenant nous devons tester la balle avec la brique.

Cependant nous devons être sûrs que la balle se trouve dans la brique cette fois nous testerons les deux conditions en Y.

À ce point-là, notre balle doit rebondir sur les briques.

Voici le code que vous devriez avoir :

Un apercu :

Or nous, on veut supprimer les briques touchées par notre balle.


Suppression des briques

S’il y a collision nous passerons la valeur de brique à 0.

Nous allons rajouter une condition pour tester la collision avec la brique seulement si la valeur de brique vaut 1.

il ne faut pas oublier de n’afficher que les briques non détruites dans notre update.

Nous rajouterons alors aussi cette condition.

Voici le code complet :

Un aperçu :

Vous pouvez profiter de votre première œuvre.

Mais il reste encore quelques mécaniques à ajouter.

Les collisions restent primaires, mais sont fonctionnelles pour un premier jeu je ne voulais pas rendre le code trop complexe.

  • Le jeu est trop simple, on peut relancer la balle indéfiniment.
    – Alors nous ajouterons des vies.
  • Ça manque de fun, il faut au moins ajouter un score.
  • À la fin du niveau quand il n’y a plus de briques, il nous faut recréer de nouvelles briques.
  • Si le joueur n’a plus de vie (partie perdue) il faut remettre le jeu à son état d’origine.

Voyons tout cela ensemble dans la suite de ce cours.