Lignes de code

Voici des captures d'écran de notre programme suivi de nos lignes de code. Si vous souhaitez l'essayer, il suffit de copier ces lignes sur processing et d'y insérer les images que nous avons utilisé, que vous trouverez dans la partie "Ressource".

Captures d'écran de l'exécution du programme :

Lignes de code :

import ddf.minim.spi.*;

import ddf.minim.signals.*;

import ddf.minim.*;

import ddf.minim.analysis.*;

import ddf.minim.ugens.*;

import ddf.minim.effects.*; //Ces lignes servent à importer la bibliothèque Minim, responsable de la musique dans le jeu.

boolean clic = false;

boolean clic2 = false;

boolean clic3 = false; //Ces 3 booléens sont utilisés pour les transitions, clic pour celle du labyrinthe, clic2 pour celle du cache-cache et clic3 pour le panier

PImage img2;

PImage img3; //Ces variables permettent de déclarer l'existence de deux images, img2 et img3, qui seront ensuite charger par le programme et lier à ces noms.

PImage salle; //définition d'une image nommée salle

// définition des variables boolean, ici toutes vraies

boolean tasse = true;

boolean horloge = true;

boolean affiche = true;

boolean veste = true;

boolean telephone = true;

boolean rideau1 = true;

boolean rideau2 = true;

boolean tiroirs = true;

boolean lampe = true;

Minim minim; //On crée un objet (minim) de la classe Minim.

AudioPlayer music; //On crée aussi un objet (music) de la classe Audioplayer, qui contient les données audio.

int a = 1;

int c = 18;

int documents = 0; //On définit les variables a et c, responsables des coordonnées en abscisse et en ordonnée du personnage du labyrinthe, (les variables x et y étant déjà prises dans un autre programme), ainsi que la variable documents, responsable du nombre de documents récupérés dans le document.

int [] vitesseY; //tableau d'entier nommé vitesseY

int [] x; //tableau d'entier nommé x

int [] y; //tableau d'entier nommé y

int attrape;

void setup() {

img2 = loadImage("facile.gif");

img3 = loadImage("JC3.png"); //Ici, nous chargeons les images du labyrinthe et du personnage.

size(img2.width, img2.height); //On ajuste alors la taille de la fenêtre avec celle du labyrinthe.

salle=loadImage ("bletchley-park-library.jpg"); //téléchargement de l'image

//les tableaux d'entiers pourront contenir 20 valeurs

x=new int [20];

y=new int [20];

vitesseY=new int [20];

attrape=0; //Lors de l'initialisation, attrape=0

for (int i=0; i<20; i++) { //Pour i commence à 0, est strictement inférieur à 20 et i prend la valeur i+1 à chaque tour

x[i]=(int)random(10, 1100); //x[i] prends une valeur décimale et entière comprise entre 10 et 1100

y[i]=-300; //y[i] prends la valeur -300

vitesseY[i]=(int)random(2, 5); //vitesseY[i] prends une valeur décimale et entière comprise entre 2 et 5

}

minim = new Minim(this);

music = minim.loadFile("Sleep Away.mp3"); //On charge ensuite la musique dans le programme

music.play(); // Et on la joue.

}

void draw() {

if (clic==false) { //On vérifie la valeur de clic (établie comme false) pour pouvoir exécuter la boucle.

background(0);

textSize(24);

fill(255);

text("Commencer", 550, 410); //Si clic est faux, alors le fond est noir, le texte « Commencer » est écrit en blanc et en police 24 aux coordonnées indiquées.

if (mousePressed) {

if (mouseX>550) {

if (mouseX<690) {

if (mouseY>390) {

if (mouseY<410) {

clic=true; //Et si on clique dans le cadre d'interaction défini autour du texte, clic devient vrai.

}

}

}

}

}

}

if (clic==true) { //Le fait de cliquer sur « Commencer » rend clic vrai et active cette deuxième boucle.

image(img2, 0, 0); //On affiche l'image du labyrinthe en fond.

labBouger();

sortie();

documents(); //On appelle les fonctions qui vont être utilisées pour le labyrinthe.

image(img3, a, c, 17, 17); //On affiche l'image du personnage au début du labyrinthe, avec ses coordonnées variables pour lui permettre de se mouvoir.

fill(255);

text("Documents :" +documents, 550, 910); //On affiche le texte « Documents » en-dessous du labyrinthe en blanc, avec à côté le nombre de documents trouvés.

}

if (clic3==true) {

stroke(0);

background(#60F00F); //Couleur de fond

// Bouton permettant de recommencer le jeu

rect(1130, 10, 65, 30);

fill(0); // rempli en blanc

textSize(20); // taille du texte

text("RETRY", 1132, 35); //texte et position du texte

fill(255); // couleur du texte

rect(mouseX-75, 800, 150, 100); //Position du rectangle

textSize(24); // taille du texte

text("nombre de papiers attrapés= "+attrape, 10, 30);//texte et position du texte

for (int i=0; i<20; i++) { //Pour i commence à 0, est strictement inférieur à 20 et i prend la valeur i+1 à chaque tour

y[i]=vitesseY[i]+y[i]; // y[i] prends la valeur vitesseY[i]+y[i]

rect(x[i], y[i], 63, 90); // position du rectangle

}

for (int i=0; i<20; i++) { //Pour i commence à 0, est strictement inférieur à 20 et i prend la valeur i+1 à chaque tour

if (mouseX<x[i]+75) { //si le curseur de la souris a une position horizontale inférieure à la somme de x[i]+75

if (mouseX>x[i]-75) { // et si le curseur de la souris a une position horizontale supérieure à la différence de x[i]-75

if (y[i]>710) { // et si y[i] est supérieur à 710

if (y[i]<810) { // et si y[i] est inférieur à 810

y[i]=9999; //alors y[i] prends la valeur 9999

if (y[i]==9999) { //et si y[i] est égal à 9999

attrape= attrape+1; //alors attrape prends la valeur attrape+1

}

}

}

}

}

}

if (attrape>19) { //si attrape est supérieur à 19

fill(0); //remplissage en noir

rect(320, 190, 580, 100); // position et taille du rectangle

fill(255);//couleur du texte

textSize(40); //taille du texte

text("Bravo ! Vous avez gagné !", 350, 250); //texte et position du texte

}

if (mousePressed) { //si la souris est enfoncée

if (mouseX>1130) { //et si le curseur à l'horizontal est supérieur à 1130

if (mouseX<1200) { //et si le curseur à l'horizontal est inférieur à 1200

if (mouseY>10) { //et si le curseur à la vertical est supérieur à 10

if (mouseY<40) {//et si le curseur à la vertical est inférieur à 40

attrape=0; //alors attrape est égal à 0

for (int i=0; i<20; i++) { // et pour i commence à 0, est strictement inférieur à 20 et i prend la valeur i+1 à chaque tour

y[i]=-300; // y[i] prends la valeur 300;

y[i]=vitesseY[i]+y[i]; //y[i] prends la valeur vitesseY[i]+y[i];

rect(x[i], y[i], 63, 90); //position et taille du rectangle

}

}

}

}

}

}

}

if (clic2==true) {

noStroke();

fill(0);

rect(0, 800, 1200, 150); //taille et position du rectangle

background(0); //fond de la fenêtre noir

image(salle, 100, 100); //taille et position de l'image

fill(255); //couleur du texte

textSize(25); //taille du texte

text("Tasse", 110, 730); //texte et position du texte

text("Horloge", 300, 730); //texte et position du texte

text("Affiche", 500, 730); //texte et position du texte

text("Veste rouge", 700, 730); //texte et position du texte

text("Téléphone", 980, 730); //texte et position du texte

text("Tiroirs de rangement", 110, 780); //texte et position du texte

text("Lampe à huile", 470, 780); //texte et position du texte

text("Rideau 1", 750, 780); //texte et position du texte

text("Rideau 2", 950, 780); //texte et position du texte

textSize(50); //taille du texte

text("Trouvez ces objets :", 350, 75); //texte et position du texte

noFill(); //pas de remplissage

if (mouseX>720) { //si le curseur de la souris à l'horizontal est supérieur à 720

if (mouseX<875) { //et si le curseur de la souris à l'horizontal est inférieur à 875

if (mouseY>400) { //et si le curseur de la souris à la verrical est supérieur à 400

if (mouseY<500) {//et si le curseur de la souris à la verrical est inférieur à 500

if (mousePressed) { //et si la souris est enfoncée

tasse=false; //alors le boolean tasse est faux

}

}

}

}

}

if (tasse==false) { //si le boolean tasse est faux

fill(0); //remplissage noir

noStroke(); //pas de contour

rect(90, 680, 100, 60); //taille et position du rectangle

noFill(); //pas de remplissage

strokeWeight(2); //épaisseur du contour

stroke(#FF081C); //couleur du contour

ellipse(825, 450, 80, 80); //taille et position du cercle

}

if (mouseX>200) { //si le curseur de la souris à l'horizontal est supérieur à 200

if (mouseX<250) { //et si le curseur de la souris à l'horizontal est inférieur à 250

if (mouseY>160) { //et si le curseur de la souris à la vertical est supérieur à 160

if (mouseY<220) { //et si le curseur de la souris à la vertical est inférieur à 220

if (mousePressed) { //et si la souris est enfoncée

horloge=false; //alors le boolean horloge est faux

}

}

}

}

}

if (horloge==false) { //si le boolean horloge est faux

fill(0);//remplissage noir

noStroke();//pas de contour

rect(290, 680, 120, 60);//taille et position du rectangle

noFill();//pas de remplissage

stroke(#FF081C);//couleur du contour

ellipse(230, 200, 80, 80);//taille et position du cercle

}

if (mouseX>480) { //si le curseur de la souris à l'horizontal est supérieur à 480

if (mouseX<550) {//et si le curseur de la souris à l'horizontal est inférieur à 550

if (mouseY>110) {//et si le curseur de la souris à la vertical est supérieur à 110

if (mouseY<220) {//et si le curseur de la souris à la vertical est inférieur à 220

if (mousePressed) {//et si la souris est enfoncée

affiche=false;//alors le boolean affiche est faux

}

}

}

}

}

if (affiche==false) {//si le boolean affiche est faux

fill(0);

noStroke();

rect(490, 680, 120, 60);//taille et position du rectangle noir et sans contour

noFill();

stroke(#FF081C);

ellipse(515, 165, 80, 80);//taille et position du cercle vide dont le contour est rouge

}

if (mouseX>1000) {//si le curseur de la souris à l'horizontal est supérieur à 1000

if (mouseX<1120) {//et si le curseur de la souris à l'horizontal est inférieur à 1120

if (mouseY>340) {//et si le curseur de la souris à la vertical est supérieur à 340

if (mouseY<410) {//et si le curseur de la souris à la vertical est inférieur à 410

if (mousePressed) {//et si la souris est enfoncée

veste=false;//alors le boolean veste est faux

}

}

}

}

}

if (veste==false) {//si le boolean veste est faux

fill(0);

noStroke();

rect(700, 680, 145, 60);//taille et position du rectangle noir et sans contour

noFill();

stroke(#FF081C);

ellipse(1080, 380, 80, 80);//taille et position du cercle vide dont le contour est rouge

}

if (mouseX>440) {//si le curseur de la souris à l'horizontal est supérieur à 440

if (mouseX<480) {//et si le curseur de la souris à l'horizontal est inférieur à 480

if (mouseY>130) {//et si le curseur de la souris à la vertical est supérieur à 130

if (mouseY<220) {//et si le curseur de la souris à la vertical est inférieur à 220

if (mousePressed) {//et si la souris est enfoncée

lampe=false;//alors le boolean lampe est faux

}

}

}

}

}

if (lampe==false) {//si le boolean lampe est faux

fill(0);

noStroke();

rect(470, 730, 170, 60);//taille et position du rectangle noir et sans contour

noFill();

stroke(#FF081C);

ellipse(450, 180, 80, 80);//taille et position du cercle vide dont le contour est rouge

}

if (mouseX>340) {//si le curseur de la souris à l'horizontal est supérieur à 340

if (mouseX<390) {//et si le curseur de la souris à l'horizontal est inférieur à 390

if (mouseY>340) {//et si le curseur de la souris à la vertical est supérieur à 340

if (mouseY<390) {//et si le curseur de la souris à la vertical est inférieur à 390

if (mousePressed) {//et si la souris est enfoncée

telephone=false;//alors le boolean lampe est faux

}

}

}

}

}

if (telephone==false) {

fill(0);

noStroke();

rect(970, 680, 140, 60);//taille et position du rectangle noir et sans contour

noFill();

stroke(#FF081C);

ellipse(370, 350, 80, 80);//taille et position du cercle vide dont le contour est rouge

}

if (mouseX>900) {//si le curseur de la souris à l'horizontal est supérieur à 900

if (mouseX<980) {//et si le curseur de la souris à l'horizontal est inférieur à 980

if (mouseY>270) {//et si le curseur de la souris à la vertical est supérieur à 270

if (mouseY<320) {//et si le curseur de la souris à la vertical est inférieur à 320

if (mousePressed) {//et si la souris est enfoncée

tiroirs=false;//alors le boolean tiroirs est faux

}

}

}

}

}

if (tiroirs==false) {//si le boolean tiroirs est faux

fill(0);

noStroke();

rect(100, 730, 270, 60);//taille et position du rectangle noir et sans contour

noFill();

stroke(#FF081C);

ellipse(930, 300, 100, 100);//taille et position du cercle vide dont le contour est rouge

}

if (mouseX>350) {//si le curseur de la souris à l'horizontal est supérieur à 350

if (mouseX<420) {//et si le curseur de la souris à l'horizontal est inférieur à 420

if (mouseY>110) {//et si le curseur de la souris à la vertical est supérieur à 110

if (mouseY<180) {//et si le curseur de la souris à la vertical est inférieur à 180

if (mousePressed) {//et si la souris est enfoncée

rideau2=false;//alors le boolean rideau2 est faux

}

}

}

}

}

if (rideau2==false) {//si le boolean rideau2 est faux

fill(0);

noStroke();

rect(950, 735, 150, 60);//taille et position du rectangle noir et sans contour

noFill();

stroke(#FF081C);

ellipse(390, 150, 80, 80);//taille et position du cercle vide dont le contour est rouge

}

if (mouseX>670) {//si le curseur de la souris à l'horizontal est supérieur à 670

if (mouseX<760) {//et si le curseur de la souris à l'horizontal est inférieur à 760

if (mouseY>90) {//et si le curseur de la souris à la vertical est supérieur à 90

if (mouseY<250) {//et si le curseur de la souris à la vertical est inférieur à 250

if (mousePressed) {//et si la souris est enfoncée

rideau1=false;//alors le boolean rideau1 est faux

}

}

}

}

}

if (rideau1==false) {//si le boolean rideau2 est faux

fill(0);

noStroke();

rect(750, 735, 150, 60);//taille et position du rectangle noir et sans contour

noFill();

stroke(#FF081C);

ellipse(730, 180, 80, 160);//taille et position du cercle vide dont le contour est rouge

}

if (rideau1==false) {//si le boolean rideau1 est faux

if (rideau2==false) {//et si le boolean rideau2 est faux

if (telephone==false) {//et si le boolean telephone est faux

if (horloge==false) {//et si le boolean horloge est faux

if (veste==false) {//et si le boolean veste est faux

if (lampe==false) {//et si le boolean lampe est faux

if (tiroirs==false) {//et si le boolean tiroirs est faux

if (affiche==false) {//et si le boolean affiche est faux

if (tasse==false) {//et si le boolean tasse est faux

fill(255); //remplissage

textSize(36);//taille du texte

text("Bravo! Vous avez récupéré tous les objets.", 250, 755); //texte et position du texte

if (mousePressed) {

clic2=false;

clic3=true; //Après avoir trouver tous les objets et si on clique n'importe où sur la fenêtre, on passe au dernier jeu grâce à clic3.

}

}

}

}

}

}

}

}

}

}

}

}

void labBouger() {

if (keyPressed) {

if (key == CODED) {

if (keyCode == UP) {

if (red(get(a, c-1))==0) {

c=c;

} else {

c = c-2; //Cette suite de condition détermine que, si la flèche du haut est enfoncée, l'ordonnée c diminue, mais uniquement si un sous-pixel rouge

//est présent dans le pixel suivant, et donc, l'image monte.

}

}

}

}

if (keyPressed) {

if (key == CODED) {

if (keyCode == LEFT) {

if (red(get(a-1, c))==0) {

a=a;

} else {

a = a-2; //Cette suite de condition détermine que, si la flèche de gauche est enfoncée, l'abscisse diminue, mais uniquement si un sous-pixel rouge est

// présent dans le pixel suivant, et donc, l'image se déplace vers la gauche.

}

}

}

}

if (keyPressed) {

if (key == CODED) {

if (keyCode == RIGHT) {

if (red(get(a+17, c))==0) {

a=a;

} else {

a = a+2; //Cette suite de condition détermine que, si la flèche de droite est enfoncée, l'abscisse augmente, mais uniquement si un sous-pixel rouge est

// présent dans le pixel suivant, et donc, l'image se déplace vers la droite.

}

}

}

}

if (keyPressed) {

if (key == CODED) {

if (keyCode == DOWN) {

if (red(get(a, c+17))==0) {

c=c;

} else {

c = c+2; //Cette suite de condition détermine que, si la flèche du bas est enfoncée, l'ordonnée augmente, mais uniquement si un sous-pixel rouge est

// présent dans le pixel suivant, et donc, l'image descend.

}

}

}

}

}

void sortie(){

if (a>1180 && c>860) {

fill(0);

rect(0, 400, 1200, 100);

fill(255);

text("Vous vous êtes échappée du labyrinthe!", 380, 455);

if (mousePressed) {

if (mouseX>0) {

if (mouseX<1200) {

if (mouseY>400) {

if (mouseY<500) {

clic2 = true;

}

}

}

}

}

}

if (mousePressed) {

if (mouseX>0) {

if (mouseX<1200) {

if (mouseY>0) {

if (mouseY<50) {

clic2=true; //Lorsque l'abscisse et l'ordonnée dépasse une certaine valeur, position située à la fin du labyrinthe, une bande noir ainsi que le message

// de victoire apparaît. Cliquez à nouveau sur le message pour activer clic2.

}

}

}

}

}

}

void documents(){

if (a>1150 && c<40) {

documents = 1;

}

if (a>490 && a<520 && c>470 && c<500){

documents = 2;

}

if (a>960 && a<990 && c>710 && c<740){

documents = 3;

} //Lorsque l'abscisse et l'ordonnée de l'image arrive dans un certain cadre de valeur, alors on « récupère » un document.

}

Créez votre site web gratuitement ! Ce site internet a été réalisé avec Webnode. Créez le votre gratuitement aujourd'hui ! Commencer
Ce site utilise des cookies pour permettre le bon fonctionnement, la sécurité, et vous offrir la meilleure expérience utilisateur possible.

Paramètres avancés

Vous pouvez personnaliser vos préférences en matière de cookies ici. Activez ou désactivez les catégories suivantes et enregistrez votre sélection.