Lucas Willems

LUCAS WILLEMS

Un étudiant de 27 ans passionné par les maths et la programmation

English

Casse Brique Python Un Casse Brique simple et amusant

Réalisation

Un Casse Brique simple et amusant écrit en Python avec un éditeur de niveaux simple, réalisé par Aymeric Lhullier et moi, pour notre projet final d'ISN (Initiation aux Sciences du Numérique).

Casse Brique Python
Casse Brique Python

Génèse

Chaque élève entrant en terminale générale doit choisir une spécialité : mathématiques, physique-chimie ou ISN (Initiation aux Sciences du Numérique : programmation en quelques sortes) pour les scientifiques. En ce qui me concerne, mon choix s'est porté sur la dernière.

Comme pour toute matière, j'ai eu, au cours de l'année, des devoirs d'ISN à faire par groupe de 2, consistant en 3 mini-projets et 1 projet final qui serait notre note du Bac. Les (mini)-projets étant des programmes Python à réaliser.

Pour le projet final, ayant le choix de notre programme, Aymerick et moi sommes partis sur la réalisation d'un Casse Brique.

Avancement

Ayant déjà de l'expérience avec Python, la Programmation Orientée Objet et et un peu avec Tkinter, nous n'avons pas eu trop de diffculté pour réaliser le Casse Brique dans l'ensemble, sauf pour une chose, qui peut paraître simple mais qui ne l'est pas (en tout cas, pour moi) : l'algorithme du rebond de la balle sur la barre.

La 1ère façon de faire est naïve et consiste à dire que l'angle incident est égal à l'angle réfléchi, comme c'est le cas pour le rebond de la balle sur les bords de l'écran ou avec les briques. Mais cette manière de faire n'est pas optimale car la balle ne peut pas être dirigée. On ne peut pas changer sa trajectoire, ce qui rend le jeu bien moins plaisant. Il faut donc trouver une autre manière de faire.

Après quelques heures de réfléxions et aucune aide trouvée sur internet, une idée m'est venue. Celle-ci consistait à :

  1. Calculer une 1ère valeur de l'angle réfléchi en utilisant la façon naïve de faire : l'angle réfléchi est donné en fonction de l'angle incidant
  2. Calculer une 2ème valeur de l'angle réfléchi en utilisant une façon plus "intelligente" : l'angle réfléchi est donné en fonction de sa position sur la barre au moment du rebond
  3. Faire un mélange de ces 2 valeurs de telle façon que l'angle réfléchi final soit égal à la 1ère valeur calculée lorsque la balle rebondit au milieu de la barre et à la 2ème valeur calculée lorsque la balle rebondit sur les extrémités de la barre

J'ai ainsi implémenté cette idée et ai obtenu des résultats très satisfaisant. J'étais content.

Expérience

La réalisation de ce projet final m'a permis d'approfondir mes connaissances en Python et en Tkinter et de travailler sur des algorithmes assez intéressants comme celui du rebond de la balle sur la barre.

Versions

Ici sont présentées les versions de cette réalisation, ses fonctionnalités, mais aussi celles à venir.

Version 1.0 10/06/2014

Recherche

Voici les recherches relatives à cette page :

Commentaires

Qu'en pensez-vous ? Donnez moi votre avis (positif ou négatif) pour que je puisse l'améliorer.