Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2014-05-11 21:53:54 [Processing] Aide sur un Pong !

Syöm
nouveau membre
Date d'inscription: 2014-05-11
Messages: 1

[Processing] Aide sur un Pong !



Coucou, moi et ma binôme avons choisis de présenter comme un projet en ISN un Pong.
Nous avons récupérer le code sur internet, et on l'a bidouiller pour le mettre à notre gout.
Seulement, une partie du dit-code reste bien obscure pour nous autres novices .. Serait possible d'avoir un éclaircissement ?
C'est le void () rebondir et notamment le SENS et OK qui nous pose problème, on ne sait tout bonnement pas à quoi ils servent. Voici le code en entier :

int deplacementX, deplacementY;
int X, Y;
int X1, Y1;
int bbb;
int aaa;
float couleur, couleur1, couleur2;
float SCORE_GAUCHE, SCORE_DROIT;



void setup() {
  size(400, 400);
  X = 100;
  Y = 100;
  X1=X;
  Y1=Y;
  aaa = 200;
  bbb = 200;
  deplacementX = 2;
  deplacementY = -2;
  SCORE_GAUCHE=0;
  SCORE_DROIT=0;
  couleur = 50;
  couleur1 = 25;
  couleur2=0;
  noStroke();
  fill(0, 0, 0, 255);
}

void draw() {
  nettoyer();
  bouger();
  rebondir();
  dessiner();
  X1=X;
  Y1=Y;
  score();
}

void nettoyer() {

  background(255);
}

void rebondir() {

  int SENS;
  int OK;
  float azerty;

  if ((X > width && deplacementX > 0) || (X < 0 && deplacementX < 0)) {
    deplacementX = -deplacementX;
  }
  if (X < 0 && deplacementX < 0) {
    deplacementX = abs(deplacementX);
  }
  if ((Y > width && deplacementY > 0) || (Y < 0 && deplacementY < 0)) {
    deplacementY = -deplacementY;
  }
  if (Y < 0 && deplacementY < 0) {
    deplacementY = abs(deplacementY);
  }   

  SENS=0;
  if (X<X1 && Y>Y1) {
    // DESCENTE
    SENS=1;
  }
  OK=0;
  if (X<=21 || X>=379)
  {

    if (Y>=bbb && Y<=(bbb+60))
    {
      if (SENS==0)
      {
        deplacementY = -2;
        deplacementX = +2;
        couleur=random(0, 0);
        couleur1=random(0, 0);
        couleur2=random(0, 0);
      }
      else
      {
        deplacementY = +2;
        deplacementX = +2;
        couleur=random(0, 0);
        couleur1=random(0, 0);
        couleur2=random(0, 0);
      }
      bouger();
      OK=1;
    }
    else
      if (Y>=aaa && Y <=(aaa+60))
      {

        if (SENS==1)
        {
          deplacementY = +2;
          deplacementX = -2;
          couleur=random(0, 0);
          couleur1=random(0, 0);
          couleur2=random(0, 0);
        }
        else
        {
          deplacementY = +2;
          deplacementX = -2;
          couleur=random(0, 0);
          couleur1=random(0, 0);
          couleur2=random(0, 0);
        }





        bouger();
        OK=1;
      }
    azerty = 0.5;
    if (OK==0) {
      if (X==0)
        SCORE_DROIT = SCORE_DROIT + azerty;
      couleur=random(0, 0);
      couleur1=random(0, 0);
      couleur2=random(0, 0);
      if (X==400)
        SCORE_GAUCHE = SCORE_GAUCHE + azerty;
      couleur=random(0, 0);
      couleur=random(0, 0);
      couleur1=random(0, 0);
      couleur2=random(0, 0);

      println("SCORE "+SCORE_GAUCHE+"/"+SCORE_DROIT);
    }
  }
}

void bouger() {

  X = X + deplacementX;
  Y = Y + deplacementY;
}
void dessiner() {
  ellipse(X, Y, 10, 10);
  fill(couleur, couleur1, couleur2);
  rect(10, bbb, 10, 60);
  rect(380, aaa, 10, 60);
  rect(200, 10, 10, 50);
  rect(200, 70, 10, 50);
  rect(200, 130, 10, 50);
  rect(200, 190, 10, 50);
  rect(200, 250, 10, 50);
  rect(200, 310, 10, 50);
  rect(200, 370, 10, 50);

  if (keyPressed)
  {
    if (key == 'a')
    {
      bbb = bbb - 5;
    }
    if (key == 'q')
    {
      bbb = bbb + 5;
    }
  }
  if (keyPressed)
  {
    if (key == 'p')
    {
      aaa = aaa - 5;
    }
    if (key == 'm')
    {
      aaa = aaa + 5;
    }
  }
}

void score() {

  if (SCORE_GAUCHE== 1.0) {
    rect(100, 10, 10, 50);
  }
  if (SCORE_DROIT== 1.0) {
    rect(300, 10, 10, 50);
  }
  if (SCORE_GAUCHE== 0.0) {
    rect(100, 10, 10, 60);
    rect(75, 10, 10, 60);
    rect(75, 10, 25, 20);
    rect(75, 50, 25, 20);
  }
  if (SCORE_DROIT== 0.0) {
    rect(300, 10, 10, 60);
    rect(275, 10, 10, 60);
    rect(275, 10, 25, 20);
    rect(275, 50, 25, 20);
  }
  if (SCORE_GAUCHE==2.0) {
    rect(100, 10, 60, 10);
    rect(100, 30, 60, 10);
    rect(100, 50, 60, 10);
    rect(150, 10, 10, 20);
    rect(100, 40, 10, 20);
  }
  if (SCORE_DROIT==2.0) {
    rect(250, 10, 60, 10);
    rect(250, 30, 60, 10);
    rect(250, 50, 60, 10);
    rect(300, 10, 10, 20);
    rect(250, 40, 10, 20);
  }
  if (SCORE_GAUCHE==3.0) {
    rect(100, 10, 60, 10);
    rect(100, 30, 60, 10);
    rect(100, 50, 60, 10);
    rect(150, 10, 10, 50);
  }
  if (SCORE_DROIT==3.00) {
    rect(250, 10, 60, 10);
    rect(250, 30, 60, 10);
    rect(250, 50, 60, 10);
    rect(300, 10, 10, 50);
  }
  if (SCORE_GAUCHE==4.00) {
    rect(100, 10, 10, 30);
    rect(100, 40, 60, 10);
    rect(140, 20, 10, 50);
  }
  if (SCORE_DROIT==4.00) {
    rect(250, 10, 10, 30);
    rect(250, 40, 60, 10);
    rect(290, 20, 10, 50);
  }
  if (SCORE_DROIT==5.00) {
    background(0);
    //you
    rect(10, 10, 10, 10);
    fill(255);
  }
  if (SCORE_GAUCHE==5.00) {
    background(0);
    //you
    rect(210, 10, 10, 10);
    fill(255);
    ;
    //you
    rect(210, 10, 10, 10);
    fill(255);
  }
}



De plus, on aimerait que la vitesse de la balle augmente au fur et à mesure du nombre de coups donnés (donc de la durée de la partie).
J'espère que quelqu'un pourra éclaircir notre lanterne, merci et bonne soirée ! smile

PS : Nous travaillons sous Processing 2

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2025