summaryrefslogtreecommitdiffstats
path: root/Robofactor
diff options
context:
space:
mode:
Diffstat (limited to 'Robofactor')
-rw-r--r--Robofactor/Boite.pde23
-rw-r--r--Robofactor/Boiteverte.pde7
-rw-r--r--Robofactor/Car.pngbin0 -> 942 bytes
-rw-r--r--Robofactor/Carf.pngbin0 -> 15771 bytes
-rw-r--r--Robofactor/Ennemi.pde16
-rw-r--r--Robofactor/Entite.pde56
-rw-r--r--Robofactor/Hero.pde27
-rw-r--r--Robofactor/Letterbox.pngbin0 -> 279 bytes
-rw-r--r--Robofactor/Letterbox2.pngbin0 -> 15088 bytes
-rw-r--r--Robofactor/LetterboxGreen.pngbin0 -> 15527 bytes
-rw-r--r--Robofactor/LetterboxGreen2.pngbin0 -> 15524 bytes
-rw-r--r--Robofactor/Robofactor.pde159
-rw-r--r--Robofactor/Robofactor.zipbin0 -> 54212 bytes
-rw-r--r--Robofactor/RobofactorProv.PNGbin0 -> 1168 bytes
-rw-r--r--Robofactor/Score.pde19
-rw-r--r--Robofactor/Untitled-f1.pngbin0 -> 4446 bytes
-rw-r--r--Robofactor/Voiture.pde20
-rw-r--r--Robofactor/city.jpgbin0 -> 7703 bytes
-rw-r--r--Robofactor/fond.pngbin0 -> 131880 bytes
-rw-r--r--Robofactor/fond1.pngbin0 -> 117359 bytes
-rw-r--r--Robofactor/jggj.pngbin0 -> 7127 bytes
-rw-r--r--Robofactor/sketch.properties2
-rw-r--r--Robofactor/titlerobofactor.pngbin0 -> 97817 bytes
23 files changed, 329 insertions, 0 deletions
diff --git a/Robofactor/Boite.pde b/Robofactor/Boite.pde
new file mode 100644
index 0000000..c6fcfaa
--- /dev/null
+++ b/Robofactor/Boite.pde
@@ -0,0 +1,23 @@
+public class Boite extends Entite{
+
+ //variables
+
+ //fct
+ Boite(int startRangee, int xDepart, int startVitesse){
+ rangee = startRangee;
+ x = xDepart;
+ xBloc = xDepart;
+ vitesse = startVitesse;
+ }
+
+ void afficher(){
+ image (avatar, x,(100+200*rangee)-(avatar.height/2));
+ }
+
+ void collision(Heros heros, Score score) {
+ if (this.getx()-85 <= heros.getx() && this.getx()+avatar.width>=heros.getx() && this.getRangee() == heros.getRangee()){
+ x = -200;
+ score.augmenter(10);
+ }
+ }
+}
diff --git a/Robofactor/Boiteverte.pde b/Robofactor/Boiteverte.pde
new file mode 100644
index 0000000..afeb840
--- /dev/null
+++ b/Robofactor/Boiteverte.pde
@@ -0,0 +1,7 @@
+public class Boiteverte extends Boite{
+
+ Boiteverte (int startRangee, int xDepart, int startVitesse){
+ super(startRangee, xDepart, startVitesse);
+ avatar = loadImage("LetterboxGreen2.png");
+ }
+}
diff --git a/Robofactor/Car.png b/Robofactor/Car.png
new file mode 100644
index 0000000..1e6a850
--- /dev/null
+++ b/Robofactor/Car.png
Binary files differ
diff --git a/Robofactor/Carf.png b/Robofactor/Carf.png
new file mode 100644
index 0000000..3dfa25a
--- /dev/null
+++ b/Robofactor/Carf.png
Binary files differ
diff --git a/Robofactor/Ennemi.pde b/Robofactor/Ennemi.pde
new file mode 100644
index 0000000..dfb2a0e
--- /dev/null
+++ b/Robofactor/Ennemi.pde
@@ -0,0 +1,16 @@
+abstract class Ennemi extends Entite{ //Un ennemi est une entité. Donc Ennemi hérite de Entité.
+
+ //variables
+
+ //fonctions
+ Ennemi(int startRangee, int xDepart){
+ rangee = startRangee;
+ x = xDepart;
+ xBloc = xDepart;
+ }
+
+ void afficher(){
+ image (avatar, x, y);
+ }
+
+}
diff --git a/Robofactor/Entite.pde b/Robofactor/Entite.pde
new file mode 100644
index 0000000..d0244d3
--- /dev/null
+++ b/Robofactor/Entite.pde
@@ -0,0 +1,56 @@
+abstract class Entite {
+ protected int rangee; //"Protected" signifie que les classes héritant de Entité auront accès à cette variable !
+ protected PImage avatar;
+ protected int x, xBloc, y;
+ protected int vitesse;
+ protected boolean isDead = false;
+
+ void deplacerY(int diff){ //toutes les entités se déplaceront sur les trois rangées.
+ rangee+=diff;
+
+ if(isDead == false && rangee>=2){
+ rangee = 2;
+ }
+
+ else if(isDead == false && rangee<=0){
+ rangee = 0;
+ }
+
+ else if(isDead == true){
+ rangee = 3;
+ }
+ }
+
+ void deplacerYProgressif() { //cette fonction ne s'appliquera qu'à roboFactor, elle permet un déplacement progressif de ce dernier, d'une rangée à l'autre.
+ if (y<(100+200*rangee)-(avatar.height/2)) {
+ y+=20;
+ }
+ else if (y>(100+200*rangee)-(avatar.height/2)) {
+ y-=20;
+ }
+ }
+
+ void deplacerX(){
+ x-=vitesse;
+
+ if(x<=-200){
+ x=-200;
+ }
+ }
+
+ int getx(){
+ return x;
+ }
+
+ int gety(){
+ return y;
+ }
+
+ int getRangee(){
+ return rangee;
+ }
+
+ PImage getAvatar(){
+ return avatar;
+ }
+}
diff --git a/Robofactor/Hero.pde b/Robofactor/Hero.pde
new file mode 100644
index 0000000..8acb3af
--- /dev/null
+++ b/Robofactor/Hero.pde
@@ -0,0 +1,27 @@
+public class Heros extends Entite{
+ //Les variables
+
+ //Les fonctions
+ Heros (int rangeeStart, PImage imageStart) { //Cette fonction est le constructeur de la classe Hero, elle attribue à Hero une rangée de départ et une image de départ.
+ rangee = rangeeStart;
+ avatar = imageStart;
+ y = (100+200*rangee)-(avatar.height/2);
+ }
+
+ void afficher () {
+ image (img, 50, y);
+ }
+
+ void setIsDead (boolean dead) { //Change la valeur de isDead quand la fonction est appelée.
+ isDead = dead;
+ }
+
+ void mourir(){
+ if(y>=height){
+ noLoop();
+ fill(0);
+ text("Robofactor est mort. Appuyez sur o.", width/2-75, height/2);
+ }
+ }
+}
+
diff --git a/Robofactor/Letterbox.png b/Robofactor/Letterbox.png
new file mode 100644
index 0000000..d036899
--- /dev/null
+++ b/Robofactor/Letterbox.png
Binary files differ
diff --git a/Robofactor/Letterbox2.png b/Robofactor/Letterbox2.png
new file mode 100644
index 0000000..b4c305a
--- /dev/null
+++ b/Robofactor/Letterbox2.png
Binary files differ
diff --git a/Robofactor/LetterboxGreen.png b/Robofactor/LetterboxGreen.png
new file mode 100644
index 0000000..96f9478
--- /dev/null
+++ b/Robofactor/LetterboxGreen.png
Binary files differ
diff --git a/Robofactor/LetterboxGreen2.png b/Robofactor/LetterboxGreen2.png
new file mode 100644
index 0000000..1a3bee8
--- /dev/null
+++ b/Robofactor/LetterboxGreen2.png
Binary files differ
diff --git a/Robofactor/Robofactor.pde b/Robofactor/Robofactor.pde
new file mode 100644
index 0000000..e1e7ca5
--- /dev/null
+++ b/Robofactor/Robofactor.pde
@@ -0,0 +1,159 @@
+Heros roboFactor;
+Voiture[] voiture = new Voiture[3];
+Boite[] boite = new Boite[2];
+Score score;
+PImage img;
+PImage backG;
+boolean lance;
+PImage backMenu;
+
+float xDecor, xDecorFin;
+
+int xBlocage = -200; //Les entités se bloquent à une abscisse de -200, en attendant d'être rappellées.
+int opacite;
+
+void setup () {
+
+ size (1000, 600);
+
+ backMenu = loadImage ("titlerobofactor.png");
+ img = loadImage("RobofactorProv.PNG");
+ backG = loadImage ("fond.png");
+ roboFactor = new Heros(1, img);
+ score = new Score();
+ lance = false;
+
+ xDecor = 0;
+
+ initialiserVoiture(voiture);
+
+ initialiserBoite(boite);
+}
+
+void draw () {
+ if (lance == false) {
+ noLoop();
+ background (0, 0, 0);
+ image (backMenu, 200, 10);
+ fill(255);
+ text("Appuyez sur o pour démarrer", width/2-75, height/2);
+ }
+ else {
+ background (80, 120, 200);
+ image(backG, xDecor, 0);
+ roboFactor.afficher();
+ roboFactor.mourir(); //On vérifie si Robofactor est mort, s'il l'est, on le fait tomber hors de l'écran.
+ nouvelleEntite(voiture, boite); //On génère une nouvelle voiture ou une nouvelle boite aux lettres..
+ roboFactor.deplacerYProgressif(); //Animation du déplacement de Robofactor vers une autre rangée
+
+ //On déplace et on affiche les voitures et les boites
+ gererBoite(boite);
+ gererVoiture(voiture);
+
+ //Le décor défile
+ xDecor = defiler(xDecor, xDecorFin);
+ xDecorFin = xDecor + backG.width;
+
+ gererCollision(voiture, boite);
+ score.afficher(50, 50);
+ }
+}
+
+void keyPressed() { //Cette fonction gere toutes les touches utiles, haut pour aller vers le haut, bas pour aller vers le bas etc...
+ if (keyCode==UP) {
+ roboFactor.deplacerY(-1); //Robofactor va en haut si on appuie sur la flèche du haut
+ }
+ if (keyCode==DOWN) {
+ roboFactor.deplacerY(1); //Robofactor va en bas si on appuie sur la flèche du bas
+ }
+ if (key=='o') {
+ lance = true;
+
+ initialiserVoiture(voiture);
+
+ initialiserBoite(boite);
+
+ score = new Score();
+
+ xDecor = 0;
+
+ roboFactor = new Heros(1, img);
+ loop();
+ }
+}
+
+void initialiserVoiture(Voiture[] tab) {
+ for (int i = 0 ; i < tab.length ; i++) {
+ tab[i] = new Voiture ((int)random(-1, 3), xBlocage, generer(25, 30));
+ }
+}
+
+void initialiserBoite(Boite[] tab) {
+ for (int i = 0 ; i < tab.length ; i++) {
+ tab[i] = new Boiteverte((int)random(-1, 3), xBlocage, 12);
+ }
+}
+
+void nouvelleEntite(Voiture tabVoit[], Boite[] tabBoite) {
+ int generation;
+ generation = generer(0, 100); //On génère un nombre aléatoirement entre 0 et 150 (entre -1 et 151 non compris).
+
+ if (generation==0) { //Si on tombe sur 0, on "remet en jeu" une des trois voitures (il faut qu'elle soit bloquée en dehors de la fenêtre), à une rangée aléatoire
+ for (int i = 0 ; i < tabVoit.length ; i++) {
+ generation = generer(0, 2);
+ if (tabVoit[i].getx()==xBlocage && i==generation) {
+ tabVoit[i] = new Voiture ((int)random(0, 3), width+50, generer(25, 30));
+ }
+ }
+ }
+
+ if (generation==1) { //Si on tombe sur 1, on "remet en jeu" une des deux boites (il faut qu'elle soit bloquée), à une rangée aléatoire
+ for (int i = 0 ; i < tabBoite.length ; i++) {
+ generation = generer(0, 1);
+ if (tabBoite[i].getx()==xBlocage && i == generation) {
+ tabBoite[i] = new Boiteverte ((int)random(0, 3), width+50, 12);
+ }
+ }
+ }
+}
+
+void gererBoite(Boite[] tab) { //On affiche et on déplace la boite
+ for (int i = 0 ; i < tab.length ; i++) {
+ tab[i].afficher();
+ tab[i].deplacerX();
+ }
+}
+
+void gererVoiture(Voiture[] tab) { //On affiche et on déplace la voiture
+ for (int i = 0 ; i < tab.length ; i++) {
+ tab[i].afficher();
+ tab[i].deplacerX();
+ }
+}
+
+void gererCollision(Voiture[] tabVoit, Boite[] tabBoite) {
+ for (int i = 0 ; i < tabVoit.length ; i++) {
+ tabVoit[i].collision(roboFactor);
+ }
+
+ for (int i = 0 ; i < tabBoite.length ; i++) {
+ tabBoite[i].collision(roboFactor, score);
+ }
+}
+
+int generer(int debut, int fin) {
+ int aleatoire;
+ aleatoire = (int)random(debut, fin+1);
+ return aleatoire;
+}
+
+float defiler(float x, float xfin) {
+ x-=12;
+
+ if (xfin <= width) {
+ x = 0;
+ }
+
+ return x;
+}
+
diff --git a/Robofactor/Robofactor.zip b/Robofactor/Robofactor.zip
new file mode 100644
index 0000000..3959e3a
--- /dev/null
+++ b/Robofactor/Robofactor.zip
Binary files differ
diff --git a/Robofactor/RobofactorProv.PNG b/Robofactor/RobofactorProv.PNG
new file mode 100644
index 0000000..1b5faad
--- /dev/null
+++ b/Robofactor/RobofactorProv.PNG
Binary files differ
diff --git a/Robofactor/Score.pde b/Robofactor/Score.pde
new file mode 100644
index 0000000..4e9be74
--- /dev/null
+++ b/Robofactor/Score.pde
@@ -0,0 +1,19 @@
+public class Score{
+ //Variables
+ private int score;
+
+ //Fonctions
+ Score(){
+ score = 0;
+ }
+
+ void augmenter(int augmentation){
+ score+=augmentation;
+ }
+
+ void afficher(int x, int y){
+ fill(0);
+ text(score, x, y);
+ }
+}
+
diff --git a/Robofactor/Untitled-f1.png b/Robofactor/Untitled-f1.png
new file mode 100644
index 0000000..10bb218
--- /dev/null
+++ b/Robofactor/Untitled-f1.png
Binary files differ
diff --git a/Robofactor/Voiture.pde b/Robofactor/Voiture.pde
new file mode 100644
index 0000000..fb280e3
--- /dev/null
+++ b/Robofactor/Voiture.pde
@@ -0,0 +1,20 @@
+public class Voiture extends Ennemi{
+ //variables
+ Voiture(int startRangee, int xDepart, int vitesseDepart){
+ super(startRangee, xDepart);
+ avatar = loadImage("Carf.png");
+ vitesse = vitesseDepart;
+ y = (100+200*rangee)-(avatar.height/2);
+ }
+ //fonctions
+
+ void collision(Heros heros){
+
+ if(x <= heros.getx()+heros.getAvatar().width && x>=0){
+ if(y >= heros.gety() && y <= heros.gety()+heros.getAvatar().height){
+ heros.setIsDead(true);
+ heros.deplacerY(3);
+ }
+ }
+ }
+}
diff --git a/Robofactor/city.jpg b/Robofactor/city.jpg
new file mode 100644
index 0000000..b95c6f0
--- /dev/null
+++ b/Robofactor/city.jpg
Binary files differ
diff --git a/Robofactor/fond.png b/Robofactor/fond.png
new file mode 100644
index 0000000..398b1c8
--- /dev/null
+++ b/Robofactor/fond.png
Binary files differ
diff --git a/Robofactor/fond1.png b/Robofactor/fond1.png
new file mode 100644
index 0000000..0427646
--- /dev/null
+++ b/Robofactor/fond1.png
Binary files differ
diff --git a/Robofactor/jggj.png b/Robofactor/jggj.png
new file mode 100644
index 0000000..2feb405
--- /dev/null
+++ b/Robofactor/jggj.png
Binary files differ
diff --git a/Robofactor/sketch.properties b/Robofactor/sketch.properties
new file mode 100644
index 0000000..09d6f35
--- /dev/null
+++ b/Robofactor/sketch.properties
@@ -0,0 +1,2 @@
+mode.id=processing.mode.java.JavaMode
+mode=Java
diff --git a/Robofactor/titlerobofactor.png b/Robofactor/titlerobofactor.png
new file mode 100644
index 0000000..efdbac0
--- /dev/null
+++ b/Robofactor/titlerobofactor.png
Binary files differ