Cours:ProcessingEval1
Cours:ProcessingEval1Correction
Vous ferez valider chaque partie
Sommaire
Première partie, préparation
Création de l'écran
Commencer votre programme en implantant les fonctions répondant au cahier des charges suivant :
- Définir 2 constantes (cd final) Tx et Ty de valeurs 600 et 400, qui représenteront la taille de la fenêtre.
- Créer un écran de cette taille
- Le remplir en noir
Une balle maintenant
Ajouter à votre programme les instructions nécessaire à la création d'une balle :
- Définir une constante représentant le diamètre de la balle : d = 20
- Définir 2 variables, posX et posY donnant les coordonnées du centre de la balle
- Placer cette balle, de couleur rouge, au centre de l'écran.
Deuxième partie : animons la balle
Sans rebond
Commencez par faire un programme qui déplace la balle sans gestion des rebonds sur les bords :
- Définir 2 variables Vx et Vy de valeur initiale 5.
- A chaque "boucle", incrémenter en conséquence la position de la balle
Gestion des bords
Faisons rebondir la balle sur des bords :
- Définissez 4 variables : minX, minY, maxX, maxY de valeurs initiales respectives 0,0,Tx,Ty
- A l'aide des tests adaptés, faire en sorte que la balle rebondisse sur ces positions (minX, minY ...)
Troisième partie : Gestion de la souris
Tirons un trait
On souhaite tracer un trait vertical de haut en bas de l'écran à chaque clic gauche de souris à l'emplacement de la souris.
Vous utiliserez pour ce faire la fonction mousePressed()
Écrire le programme correspondant
Vertical ou horizontal
On souhaite maintenant pouvoir changer le sens de la ligne. Pour ce faire :
- déclarer une variable sens (0 comme valeur initiale)
- a chaque clic droit, "sens" changera de valeur (0 pour vertical, 1 pour horizontal)
- tenir compte de la valeur de "sens" pour tracer la ligne
Quatrième partie : Assemblons le tout
Réduction de l'espace de rebond
L'objectif est d'utiliser la souris pour réduire progressivement l'espace de rebond de la balle :
- Supposons que la balle est en position 200,300 ( ou 270,300)
- Que la souris est en position 250,100
- Que sens=0 (trait vertical)
- Alors on réduit la valeur de maxX à 250 (On passe minX à 250)
Le même principe s'applique aux valeurs minY et maxY lorsque sens=1
Faire les modifications nécessaires
Améliorons le graphisme
Ne laisser en noir que la zone autorisée pour la balle
Réduction obligatoire de la taille de la zone
Ajouter les conditions nécessaires pour que la taille de la zone soit nécessairement de plus en plus petite
Cinquième partie : Plusieurs balles
Il vous reste du temps, essayez d'adapter votre programme pour gérer plusieurs balles simultanément.