POUR COPIER/COLLER LE CODE SUR PROCESSING

//"int":déclaration d'une variable

int score=0;
int MeilleurScore=0;
int Niveau = 1;
int menuprincipal = 0; // menu principal affiché automatiquement
int x= 160; // abscisse de la flêche
int y=325;// ordonée de la flêche
int a= 680;//abscisse de la cible niveau 1
int b = 250;// ordonée de la cible niveau 1
int e = 450; //abscisse cible niveau 2
int f = 395; // ordonée cible niveau 2
int deplacementE = 4; // variable permettant le déplacement de la cible 2 horizontalement
int deplacementF = 4; // variable permettant le déplacement de la cible 2 verticalementfloat v=-0.002; // vitesse horizontale
float w=1.6; //vitesse verticale
float z=-0.2;
//float x=0;PImage fd; // fond d'écran du jeu
PImage fdd; // fond d'écran du menu principal
//PImage fddd;
void setup () { //fonction s'exécuant qu'une seule fois au début du programme.
size (800, 500);//taille de la fenêtre
frameRate(30);
fd = loadImage("fd.jpg");
fdd = loadImage("principal.png");
// fddd = loadImage ("fddd.jpg");
}void draw() { //fonction ne renvoyant pas de paramètres, ne renvoyant rien au reste du programme et s'exécute en boucle 30/sec
menuprincipal();
if (menuprincipal==1) { //Si on a cliqué sur "jouer" dans le menu principal
fill(#FF0004);
ellipse (a, b--, 30, 30); // cible, b-- indique que la cible se déplace de façon autonome
fill( #FFFCFC);
ellipse( a, b--, 20, 20);
fill(#FF0004);
ellipse (a, b--, 10, 10);
if (b<5) { //si la cible atteind le haut de l'écran, elle réapparaît en bas
b = 410 ;
}background(fd);
// fill(0); // couleur personnage
//rect(100, 300, 50, 80); // personnage
score();
fleche();
tirer();
// niv2();
stroke (#FFC65D);//if (mousePressed ) {//Condition 'si on touche la cible'
if (x >a-60) {
if (x<a+30) {
if (y<b+50) {
if (y>b-50) {
//if (keyPressed) {
// if (key == CODED) {
// if (keyCode == RIGHT) {
// if (red(get(x+41, y))==0) {
//if (red(get(a, b-- ))==0) { // si notre cible touche un pixel rouge (la cible) :// } else {
// x = x+1;
// }
//}
//}
// }score= 1 ; //le score augmente d'un point
Niveau= 2 ; //on passe au niveau suivant
a = a + 9000; //la cible disparait de notre fenêtre
b = b + 9000;// fill(#EEFF05);
// rect(300, 200, 200, 60);
// fill(#05FF17);
// textSize(55);
//text("GAGNE!", 300, 250);
// fill(#FFC65D);//couleur de ce texteif (score > MeilleurScore) { //si le score est plus grand que le meilleur score
MeilleurScore = score ; //alors ce score devient le meilleur score
}
}
}
}
// }
//}
//}
// }
} else //sinon rien ne se passe
{
a=a;
b=b--;
score = score;
fill(#03ECFF);
}fill(#FF0004);
ellipse (a, b--, 30, 30); // cible, b-- permet à la cible de se déplacer de façon autonome
fill( #FFFCFC);
ellipse( a, b--, 20, 20);
fill(#FF0004);
ellipse (a, b--, 10, 10);
}
// if(a >8000){ // si la cible a disparu, le texte suivant restera
//if (b > 8000){
// fill(#FFFFFF);
// rect(300, 200, 200, 60);
// fill(#05FF17);
//textSize(55);
// text("GAGNE!", 300, 250); }//}
if (Niveau==2 ) { // si on passe au niveau suivant
fill(#007BF2); //création de la cible du niveau 2, qui est d'une couleur différente que celle du niveau 1
ellipse (e, f, 30, 30); // cible
fill( #FFFCFC);
ellipse( e, f, 20, 20);
fill(#007BF2);
ellipse (e, f, 10, 10);
if (mousePressed ) {//si on touche le bouton "menu principal". Mettre cette condition ici permet au sketch d'enlever la cible bleue de l'écran lorsqu'on revient au menu principal
if (mouseX>609) {
// if (mouseX<800) {
// if (mouseY<500) {
if (mouseY>468) {
menuprincipal=0; // l'écran redevient le menu principal
e=9000;
f=9000;
}
}
}
if (mousePressed) {
if (mouseX<433) {
if (mouseX>332) {
if (mouseY<470) {
if (mouseY>320) {
menuprincipal=1;
e=450;
f=395;
}
}
}
}
}// if ( e < 215) {
// e=795;
//}
//if ( f > 415) {
//f=5;
//}e = e + deplacementE; // ces paramètres permettent de faire bouger la balle de façon autonome...
f = f - deplacementF;
if (e > 785) { //conditions "si la cible dépasse la fenêtre"
deplacementE = -3; //... paramètres permettent de la faire rebondir sur les coins de l'écran
}if (e < 260) {
deplacementE = 3;
}
if (f <15) {
deplacementF = -3;
}if (f > 410) {
deplacementF = 3;
}// if (f>410) { //si la cible atteind le haut de l'écran, elle réapparaît en bas
// f =5 ;
// }
// if (e<5) { //si la cible est tout à gauche de l'écran, elle réappaît à droite
// e=795;
//}
if (x >e-60) { //Si on touche la cible
if (x<e+60) {
if (y<f+50) {
if (y>f-50) {score= 2 ; //nous avons 1 point en plus
e = e+ 9000; //la cible disparait de la fenêtre
f = f + 9000;
// if(score==2){ // si la cible a disparu, le texte suivant restera
// fill(#FFFFFF);
// rect(300, 200, 200, 60);
// fill(#05FF17);
// textSize(55);
// text("GAGNE!", 300, 250); //}//}
}
}
}
}
if (score==2) { // si nous avons réussi a touché les 2 cibles des 2 nivaux, le texte suivant restera
// fill(#FFFFFF);
//rect(300, 200, 200, 60);
fill(#05FF17);
textSize(55);
text("GAGNE!", 291, 50);
}//}
}
if (score > MeilleurScore) { //si le score est plus grand que le meilleur score
MeilleurScore = score ; //alors ce score devient le meilleur score
}
}//}//}
void fleche() {
if (menuprincipal==1) { // si nous ne sommes plus sur l'écran du menu principal :
fill(#41A234); // couleur du rectangle "rejouer"
rect(25, 100, 175, 25); // position du bouton "rejouer"
fill(#6A7119);
text("Rejouer (+ r)", 45, 119.5);
fill(#432206); //couleur de la flêche
rect(x, y, 75, 3); // position de la flêche au départ//if (key == ' '){
// x=x+7;
//y=y-2;}
//else { x=160; y=325; rect(x, y, 75, 3); // position de la flêche au départ
// }
// if (mousePressed) { //conditions lorsqu'on clique sur la souris
// x++;
//y--;
//}
//if (x>750) { //Conditions, si la flêche est arrivée à la fin de l'écran
// textSize(55);
// text("perdu", 300, 250);
// }
//if (y>450) {
// text("perdu", 300, 250);
// }
if (mousePressed ) {//Condition 'si on touche le bouton "rejouer"'
if (mouseX>25) {
if (mouseX<200) {
if (mouseY<125) {
if (mouseY>100) {
x =160; // la flêche réapparait à sa position de départ
y=325;
rect(x, y, 75, 3); // position de la flêche au départ
a= 680; // les 2 cibles réapparaissent à leur position de départ
b=250;
f=395;
e=450;
//if (key == ' '){
// x=x+7;
// y=y-2;}
// else { x=160; y=325; rect(x, y, 75, 3); // position de la flêche au départ
// }score = 0; //réinitialisation du jeu, on recommence du début
MeilleurScore = MeilleurScore;
Niveau = 1;
//if (score==0){ Niveau=1 ;}
// fill(#FF0004);
//ellipse (a, b--, 30, 30); // cible, b-- indique que la cible se déplace de façon autonome
//fill( #FFFCFC);
// ellipse( a, b--, 20, 20);
// fill(#FF0004);
//ellipse (a, b--, 10, 10);
// if (b<5) {
// b = 410 ;
// }
// if (Niveau==2 ) {
// e=780;
//f=450;
//fill(#FF0004);
//ellipse (e--, f++, 30, 30); // cible, b-- indique que la cible se déplace de façon autonome
//fill( #FFFCFC);
//ellipse( e--, f++, 20, 20);
//fill(#FF0004);
//ellipse (e--, f++, 10, 10);
//if (f>410) { //si la cible atteind le haut de l'écran, elle réapparaît en bas
//f =5 ;
//}
//if (e<5) {
// e=795;
//}
if (x >e-60) {
if (x<e+60) {
if (y<f+50) {
if (y>f-50) {score= 2 ;
e = e+ 9000;
f = f + 9000;
// if(score==2){ // si la cible a disparu, le texte suivant restera
// fill(#FFFFFF);
// rect(300, 200, 200, 60);
// fill(#05FF17);
// textSize(55);
// text("GAGNE!", 300, 250); //}//}
}
}
}
}
if (score==2) { // si la cible a disparu, le texte suivant restera
fill(#FFFFFF);
rect(300, 200, 200, 60);
fill(#05FF17);
textSize(55);
text("GAGNE!", 300, 250);
}//}
// }
if (score > MeilleurScore) {
MeilleurScore = score ;
}
}
}
}
}
}
}
}
void tirer() {
if (menuprincipal==1) {
if (key == ' ') { //si on appuie sur la barre d'espace
x= x+7;
y=480-(int)(v*x*x+w*x+z); //équation pour donner au trajet de notre cible une forme parabolique
// y= y-3;
// x=x;
}
if (key == 'r') { // si on appuie sur la touche r
x=160;
y=325;
score = score;
rect(x, y, 75, 3); // position de la flêche au départ
}
}
}
void menuprincipal() {
size (800, 500);
background(fdd);
if (menuprincipal==0) {
//noCursor();
noFill(); //création un viseur pour le menu principal (juste pour l'esthétique)
line(mouseX-20, mouseY, mouseX+20, mouseY);
line(mouseX, mouseY-20, mouseX, mouseY+20);
ellipse(mouseX, mouseY, 17, 17);
}
fill(#4E5DDE);
PFont police;
textSize(55);
fill(#FF0E05);
text("JEU ARCHER", 245, 210);
textSize(30);
fill(#ED7A2D);
text("Jouer", 340, 360);
if (mousePressed) {
if (mouseX<433) {
if (mouseX>332) {
if (mouseY<470) {
if (mouseY>320) {
menuprincipal=1; // notre écran, notre fenêtre prend en compte de nouveau paramètres, nous permettant de jouer
}
}
}
}
}
//rect(720,380,75,45);
if (mousePressed) { //si on clique sur la petite manette en bas a droite
if (mouseX<795) {
if (mouseX>719) {
if (mouseY<420) {
if (mouseY>379) {
menuprincipal=3;
//fill(#FFFFFF);
// text("commandes:",10,25); //indactions sur comment jouer
// text("tirer-barre d'espace",10,55);
// text("rejouer-cliquer sur l'iconne <rejouer> + touche R", 10,85);
}
}
}
}
}if (menuprincipal==3) { //si on a appuyé sur la manette en bas à droite du menu principal
background(fdd);
noFill(); //crée un viseur pour le menu principal, juste pour l'esthétique
line(mouseX-20, mouseY, mouseX+20, mouseY);//crée un viseur pour le menu principal, juste pour l'esthétique
line(mouseX, mouseY-20, mouseX, mouseY+20);
ellipse(mouseX, mouseY, 17, 17);
textSize(55);
fill(#F70505); //affichage des commandes
text("Comment Jouer ?", 190, 150);
textSize(25);
fill(#000000);
text(" Rejouer :[R] + Bouton <Rejouer>", 200, 210);
text ("Recharger :[R] ", 300, 250);
text(" Tirer :[Espace]", 275, 290);
fill(#FF0E05);
//xt(" Menu Princiaple [M]",500,490);
fill(#FFFFFF);
text("Menu principal", 610, 485); // pour retourner au menu principal
if (mousePressed ) {//Condition 'si on touche le bouton "menu principal"'
if (mouseX>609) {
// if (mouseX<800) {
// if (mouseY<500) {
if (mouseY>468) {
menuprincipal=0; // l'écran redevient le menu principal
}
}
}//}}
}if (score== 2) { //si on a gagné les 2 niveaux
e = e+ 9000;
f = f + 9000;
}
}
void score() {if (menuprincipal==1){
stroke(#000000); // couleur contours
fill(#41A234); // couleur du rectangle
rect(0, 0, 230, 100); // rectangle du score
textSize(24);
fill(#982222);
text("Niveau " + Niveau, 700, 30);
fill(#FFFFFF);
text("Menu principal", 610, 485); // pour retourner au menu principalif (mousePressed ) {//Condition 'si on touche le bouton "menu principal"'
if (mouseX>609) {
// if (mouseX<800) {
// if (mouseY<500) {
if (mouseY>468) {
menuprincipal=0; // l'écran redevient le menu principal
}}}//}}
fill(#982222);
text(" JEU ARCHER", 10, 30);
text(" Score:" + score, 10, 55);
text(" Meilleur Score:"+ MeilleurScore, 10, 80);
}
}

Lycée Bernard PALISSY, ISN 2017/2018
Optimisé par Webnode
Créez votre site web gratuitement ! Ce site internet a été réalisé avec Webnode. Créez le votre gratuitement aujourd'hui ! Commencer