PROGRAMMATION ORIENTÉE OBJET

      La programmation orientée objet permet de gérer plus facilement un grand nombre de balle que la programmation procédurale.

      L'objet est défini grâce à une classe, ici la classe balle. La classe comporte une déclaration de variable, un constructeur et des méthodes. Le constructeur permet d'affecter des valeurs aux variables de la classe.

      L'instruction « Balle maBalle » permet de créer une instance de la classe balle, elle est placée avec les déclarations de variables globales pour être utilisable dans tout le sketch.

      Dans le setup on initialise la balle dans l'instruction :

« maBalle = new Balle(width/2, height/2, color(...)) »

        Dans le draw on appelle les méthodes appliquées à l'objet balle :

« maBalle.bouge() ;

maBalle.rebondir() ;

maBalle.affiche(). »


Exemple :

//Déclaration d'une instance de Balle

Balle maBalle;

void setup() {

smooth(); //Lissage des dessins

size(400, 200); //Taille de la fenêtre

noStroke();

// on initialise une Balle nommée maBalle

maBalle = new Balle(width/2, height/2, color(255));

}

void draw() {

fill(0, 10);

rect(0, 0, width, height);

// appel des méthodes

maBalle.bouge();

maBalle.rebondir();

maBalle.affiche();

}

class Balle {

//Déclaration des paramètres de base de la balle

float x; //position

float y;

float vitesseX; // vitesse

float vitesseY;

color couleur; // couleur

//Constructeur de la balle, appelé quand on fait new Balle(...)

Balle (float nouvX, float nouvY, color nouvCouleur) {

x = nouvX;

y = nouvY;

couleur = nouvCouleur;

vitesseX = 2 + random(-1, 1);

vitesseY = 2 + random(-1, 1);

}

//Dessin de la balle

void affiche() {

fill(couleur);

ellipse(x, y, 40, 40);

}

void bouge() {

x = x + vitesseX;

y = y + vitesseY;

}

void rebondir() {

//Si la balle touche une mur, elle rebondit

if (x > width-20 '' x < 20) {

vitesseX = vitesseX * -1;

}

if (y > height-20 '' y < 20) {

vitesseY = vitesseY * -1;

}

}

}

     Il faut cependant appliquer des modifications à ce sketch pour faire apparaître nos 10 balles :

  • Balle [] maBalle;
  • new
  • for (int x = 0; x < 10; x++) {
  • maBalle[x] = new Balle(random(25,350),random(25,150), color(random(127,255),random(127,255),random(127,255)));
© 2017 Worlds Collide. Tous droits réservés.
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