Carnet de bord Salomé
-Séance 1 : Absente.
-Séance 2 : Création d'un fond avec une image de tapis de billard + premier coup d'œil sur le site pour le projet du bac.
-Séance 3 : ajout d'une boule sur le fond et recherche de création de mouvement de la boule + amélioration du site.

-Séance 4 : Nous n'avons pas réussi à mettre la boule en mouvement.
Réflexion sur les 3 questions à poser au professeur : Comment créer une ligne directionnelle pour orienter le tir avec la queue du billard ? Comment mettre en mouvement les boules sur le fond du billard ? Comment diminuer la vitesse après chaque impact des différentes boules sur les rebords du billard ?
Le professeur nous a aidé a laisser la boule sans mouvement et a affecter la position de la queue de billard en fonction de la position de la souris.
-Séance 6 :
Amélioration du code grâce a Mr. Laclaverie avec une puissance pour le tir sur la boule de billard + fonction gagner + fonction ralentissement.
J'ai essayé de comprendre le nouveau code.
code :
PImage boule1;
PImage fond;
PImage imagequeue;
float xboule1=250;
float yboule1=250;
int ximagequeue= 20;
int yimagequeue=20;
int rboule1=100;
int xfond=500;
int yfond=500;
int force=0;
int forceTir=0;
int vitesseMax=25;
int deplacementx = 10;
int deplacementy = 20;
float VitesseXboule1=0;
float VitesseYboule1=0;
void setup() {
size(750, 500);
fond=loadImage("fond.png") ;
deplacementx = 10;
deplacementy = 20;
noStroke();
fill(0, 0, 0, 255);
imagequeue=loadImage("queue.png");
}
void affiche() {
image(boule1, xboule1, yboule1, 25, 25);
image(imagequeue, mouseX, mouseY);
}
void draw() {
image(fond, 0, 0, 760, 520);
boule1=loadImage ("boule1.png");
//image(boule1,mouseX,mouseY,35,35);
bouger();
rebondir();
affiche();
tir();
friction();
forceDuTir();
ralentissement();
gagner();
cible();
}
void tir(){
if (mousePressed){
VitesseXboule1=5;
VitesseYboule1=5;}
}
void bouger() {
xboule1= xboule1+ VitesseXboule1 ;
yboule1= yboule1+ VitesseYboule1 ;
}
void rebondir() {
//Si la balle touche une mur, elle rebondit
if (xboule1 > width-45 || xboule1 < 45) {
VitesseXboule1 = VitesseXboule1 * -1;
}
if (yboule1 > height-55 || yboule1 < 55) {
VitesseYboule1 = VitesseYboule1 * -1;
}
}
void friction(){
if (VitesseXboule1 <=5 && VitesseXboule1>-5){
println(frameCount%30);
if( frameCount%30 ==1){
VitesseXboule1= VitesseXboule1-1;
VitesseYboule1=VitesseYboule1-1;
}
}
}
void mousePressed() {
//vitessex=10;
//vitessey=10;
directionTir();
forceTir=force;
}
void forceDuTir() {
force= (int)dist(mouseX, mouseY, xboule1, yboule1);
text("Force du tir = "+ force, 550, 350);
}
void ralentissement(){
if (VitesseXboule1 !=0){VitesseXboule1= (VitesseXboule1*0.99);}
if (VitesseYboule1 !=0){VitesseYboule1= (VitesseYboule1*0.99);}
if(VitesseXboule1<0.5&&VitesseXboule1>-0.5){VitesseXboule1=0;}
if(VitesseYboule1<0.5&&VitesseYboule1>-0.5){VitesseYboule1=0;}
println(VitesseXboule1);
}
void gagner(){
if (xboule1 <40&& yboule1<40){text("gagné",20,300); VitesseXboule1=0; VitesseYboule1=0;}
}
void cible(){
fill(0,255,0);
ellipse(0,0,80,80);
}
void directionTir(){
VitesseXboule1=-1*(mouseX-xboule1)*0.1;
VitesseYboule1=-1*(mouseY-yboule1)*0.1;
print(VitesseXboule1);
//if(mouseX-x<0){vitessex=10;}else{vitessex=-10;}
// if(mouseY-y<0){vitessey=10;}else{vitessey=-10;}
}
-Séance 7:
Nous avons continué à travailler sur le code que Mr. Laclaverie nous à amélioré afin d'obtenir un billard avec plusieurs boules, ainsi qu'une fonction gagner, une puissance de tir etc...
-Pendant les vacances :
Travail sur le code de Mr. Laclaverie avec des rebondissements pour les boules et un ralentissement croissant en fonction du temps + fonction gagner que je n'ai pas réussi à appliquer aux 3 boules. (fonction gagner -> il suffit de mettre les trois boules de couleurs dans les trous pour que le jeu soit gagné.)
Mon binôme à fini le projet pour aboutir au code a l'état actuel.
Lien vers le mémoire personnel du projet : (copié/ coller)
https://drive.google.com/open?id=1U5PYJuIsYWG5O3_VkG-i-PvzT7Zbw1nId3l8szjzVMA
******************************************