QUESTIONS ET REPONSES
Dans cette page vous pourrez retrouver toutes les questions ainsi que les réponses que nous nous sommes posées lors de la réalisation de notre projet ISN : un casse brique.
Problématique : comment réaliser un casse brique grâce à nos connaissances apportées lors de nos cours d'ISN ?
- Comment créer une fenêtre ?
Pour créer une fenêtre, on utilise la fonction size (x,y); et entre les parenthèses, on entre les valeurs voulues pour x et y, correspondant aux nombres de pixels.
- Comment créer des murs ?
Pour créer un mur, il faut définir des limites où la balle va rebondir en faisant des conditions grâce à la fonction if(conditions){paramètres} qui va être aux bornes des paramètres de la fonction size(x,y).
- Comment créer une balle ?
Pour créer une ou plusieurs balles, on utilise la programmation orienté objet, tout d'abord nous créons une classeObjet dans laquelle on entre les positions des coordonnées du centre de la balle c'est-à-dire de x, de y. Puis, toujours dans la classeObjet, on créé la fonction affiche, dans laquelle on définit notre balle par ellipse (x,y,a,b); que l'on appellera dans le void affiche. Ce comportement de la balle sera lui-même appelé dans le void draw du sketch. Ensuite, dans le sketch, déclaration d'une insistance de la classeObjet nommée monObjet. Ensuite on indique le nombre de balle voulues, (exemple : nombreDeBalles = 3;) puis initialisation de l'objet monObjet dans le void setup.
- Comment créer une barre ?
Pour créer la barre sur laquelle rebondira la balle, on utilise la fonction rect (x,y,a,b); puis on entre les coordonnées de l'angle supérieur gauche.
- Comment mettre un fond d'écran ?
Pour mettre une couleur en fond
d'écran, il suffit d'utiliser la fonction background (#1241E3);
et de sélectionner entre
parenthèses le codage de la couleur choisie.
Pour mettre une image en fond d'écran, on déclare la variable PImage img; ensuite on la charge dans le void setup () {} avec img=loadImage (''nom de l'image''); puis entre les guillemets on lance le nom de l'image. Et pour terminer dans le void draw () {} avec image (img,0,0); pour afficher l'image au point de coordonnées (0,0) correspondant à l'angle supérieur gauche.
- Comment faire apparaître une ligne de briques?
Pour faire apparaître un ligne de briques, nous pouvons créer des rectangles avec des variables correspondantes à chaque x des briques.
- Faire bouger la balle ?
Pour faire bouger une balle il faut créer 4 variables : la vitesse en x, la vitesse en y, la position de la balle sur l'axe x et la position de la balle sur l'axe y, ensuite il faut créer une fonction utilisateur bouge dans la classeObjet. Dans cette fonction utilisateur il faut dire que x prend la valeur x additionnée à la vitesse en x et que y prend la valeur de y additionnée à la vitesse en y.
- Comment gérer les rebonds d'une balle ?
Pour faire rebondir une balle, on créé deux fonctions : le void bouge et le void rebondir. Dans un premier temps, pour que la balle ne reste pas immobile, il faut la faire bouger donc x = x + vitesseX; de même pour le paramètre y. Dans un deuxième temps, pour faire rebondir les balles sur côtés de la fenêtre ouverte, on créé deux conditions : si la valeur de l'abscisse de la balle (soit x) dépasse la valeur de la largueur de la fenêtre moins la valeur de x, en utilisant width pour largueur. Alors il sera multiplié (-1) à vitesseX. On répète exactement la même démarche pour faire rebondir la balle en haut et en bas de la fenêtre, en utilisant height pour hauteur.
- Comment gérer les
mouvements de la barre horizontalement ?
Pour faire bouger la barre il faut créer des booléennes Right et Left et les mettre fausses au début, puis il faut créer des fonctions keyPressed pour lorsqu'on va appuyer sur la flèche de droite et de gauche, les booléennes vont être vraies et débloquer des actions. On créé également un void keyReleased, lorsque l'on relâche la touche. On y ajoute que si on relâche la gauche ou la droite, les booléennes redeviennent fausses.
Ensuite, il faut créer des conditions qui vérifieront si les booléennes sont vraies ou fausses, si elles sont vraies il faut dire que la vitesse de la barre diminue si gauche est activée ou augmente si droite est activée, on rajoute également une condition si les booléennes sont fausses alors la barre s'arrête. On donne également une vitesse maximal avec des conditions « si » telles que si la barre a une vitesse supérieur 7, la vitesse n'augmente pas.
- Comment gérer les rebonds
sur une barre ?
Afin de gérer les rebonds sur une barre il faut créer une fonction utilisateur rebondirBarre avec à l'intérieur une fonction if (conditions) {paramètres}. Dans les conditions, lorsque le y de la balle est supérieur au y de la barre, alors la vitesse de la balle en y change de signe. Et enfin, on appelle cette fonction dans le draw.
- Comment gérer les rebonds
vers la gauche et vers la droite lorsque la balle rebondit sur la
barre ?
Pour gérer les rebonds sur la gauche ou la droite de la balle sur la barre, il faut créer une condition pour vérifier si les positions de la balle sont égales aux les positions de la barre.
Ensuite on repositionne la balle sur la barre, on créé deux variables : l'une pour gérer l'angle de rebond vers un côté ou un autre de l'écran, l'autre qui correspondra au lieu de contact entre la balle et la barre, pour calculer l'angle. Puis, si les conditions précédentes sont vérifiées, alors la vitesse x de la balle prend la valeur du sinus de l'angle multipliée par la vitesse de la balle, et la vitesse en y prend la valeur de - cosinus de l'angle multipliée par la vitesse de la balle.
- Comment faire disparaître
les blocs aux contacts de la balle ?
Il faut vérifier la collision entre chaque briques avec une condition. Celle-ci vérifie si les positions de la balle arrivent sur le x ou le y d'une brique.
Puis si il y a collision, on fait déplacer le x en dehors de l'écran.
- Comment faire revenir la balle et la
barre, aux positions initiales, lorsque la balle descend de trop ?
On crée une condition : si la balle descend trop bas, la balle reprend sa position initiale et sa vitesse initiale également. Même procédé pour la barre.
- Comment créer un système
de vies ?
On crée une variable vies qui est, initialement, égale au nombre de vies voulues. Puis lorsque la balle descend de trop, les vies baissent de 1.
On crée une condition : si les vies sont inférieures à 1, alors on affiche un message indiquant que l'on a perdu.
- Comment créer un score ?
Pour cela il faut créer une variable score au début du programme qui est égale à 0 puis on rajoute dans les collisions que si on touche une brique alors score + 1.
- Comment gagné ?
Pour pouvoir gagné, on créer une fonction utilisateur avec une condition. Si le score est supérieur au nombre de briques de départ, alors on affiche un message indiquant que l'on a gagné.
Dans cette condition, on met une autre condition vérifiant que si on appuie sur une touche et si elle est vérifiée alors on applique le reset.
- Comment perdre ?
Pour perdre, on vérifie à l'aide d'une condition que nos vies sont inférieures à 1. Si c'est le cas, on affiche un message et on répète l'action décrite dans la question précédente. C'est à dire une autre condition vérifiant que si on appuie sur une touche et si elle est vérifiée alors on applique le reset.
- Comment créer un menu de lancement
du jeu avec l'option de changer la couleur de la balle ?
On crée une booléenne menu qui, initialement, est vraie, puis dans une fonction utilisateur que l'on appellera en dernier. On dessine un rectangle de la taille de la fenêtre, puis on créé un petit rectangle au milieu de l'écran. Ensuite, on écrit par exemple "PLAY". Et enfin, on créé des ellipses de couleurs différentes.
Puis on créé des conditions qui vérifieront si on appuie sur le bouton play ou sur les couleurs. On va rendre la booléenne menu devienne fausse lorsque l'on cliquera sur play et cela lancera le jeu.
On créé 3 variables : une pour le rouge, une pour le vert et une pour le bleu, etc... Puis, on change la couleur de la balle dans la classe Objet avec la fonction fill () (ne pas oublier d'utiliser la fonction noFill () pour arrêter la coloration) et dans cette fonction on entre le nom des variables.
Enfin on créé une des conditions vérifiant le clic dans les ellipses. On change les valeurs des variables pour quelles représentent la couleur de l'ellipse.
- Comment créer dans le menu d'accueil une couleur aléatoire ?
Pour créer une couleur aléatoire on redessine une ellipse dans la fonction utilisateur menu et on reprend les mêmes conditions qu'à la question précédente, pour repérer l'emplacement de la balle et on fait prendre une valeur aléatoire entre 0 et 250 aux trois conditions Rouge Vert Bleu avec la ligne suivante : (int)random(0,250).
- Comment créer un deuxième niveau ?
Pour cela il faut créer une booléenne niveau2 qui est fausse au départ. Lorsque les points arrivent à 10, cette booléenne devient vraie.
Si la booléenne est vraie alors on dessine d'autres briques et on remet les briques à leurs positions initiales.
- Comment remettre à zéro les briques, la balle et la barre ?
Il faut créer une fonction utilisateur reset qui va pouvoir être appelée, si on gagne ou si on perd. Dans cette fonction, on remet tout comme au début du programme.
Les réponses aux questions sont en orange.