Annonce

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


#1 2017-03-13 19:28:27 Projet ISN CASSE BRIQUE besoin d'aide

Fir3St4r
nouveau membre
Date d'inscription: 2017-03-13
Messages: 1

Projet ISN CASSE BRIQUE besoin d'aide



Bonjour tout le monde je suis nouveau sur ce site et pour cause j'ai rencontrer un problème lors de la création de mon projet et je viens donc demander de l'aide à quiconque pourrait m'en fournir.
Le but de mon jeu est simple, quand une balle touche une brique elle change de couleur et disparaît. J'arrive à faire disparaître la première ligne de brique mais à partir de la deuxième il n'y a pas moyen j'ai eu beau chercher je n'ai rien trouver. Pourtant je sais que je suis assez proche du but.
Voici l'endroit qui me pose problème il ne doit pas manquer grand chose à modifier.
if (red (get ((int)(x), (int)(y+7)))==0) {
      vitesseY = - vitesseY;
    }
    if (red (get ((int)(x), (int)(y-7)))==255) {
      vitesseY = - vitesseY;
for (int i=0; i<15; i++) {
      if (x>52*i && x<52*(i+1)) {
        couleurbriques[i][6] = #469FD8;
      }}}

Voici mon code complet au cas ou :

int[] rectX=new int[15];
int[] rectY=new int[15];
int i;
int [][]couleurbriques= new int[15][7];
int couleurbrique;
//PImage bleu;
PFont police;
boolean test1 = false;
Balle maBalle;


void setup() {

  //paramètres
  size(778, 500);
  smooth();
  noStroke();
  couleurbrique = 255;
  //bleu = loadImage ("bleu.png");
  //police = loadFont ("ArialMT-17.vlw");
  //textFont (police,17);

  maBalle = new Balle(width/2, height/2, color(0));
  //création des briques
  for (int i=0;i<15;i=i+1) {
    rectX[i]=52*i;
    rectY[i]=22*i;
  }

  for (int i=0 ; i<15 ;i++) {
    for (int j=0; j<7; j++) {
      couleurbriques[i][j]=255;
    }
  }
}

void draw() {
  background(#469FD8);
  fill(#00FFFF);
  rect(mouseX, 485, 60, 5);




  //int l=0;
  //while(l<7){
  for (int i=0; i<15; i++) {
    for (int j=0; j<7; j++) {
      fill(couleurbriques[i][j]);
      rect(rectX [i], rectY[j], 50, 20, 2);
    }
  }
  //l++;
  //}


  maBalle.bouge();
  maBalle.rebondir();
  maBalle.affiche();
}

//création d'une balle
class Balle {
  float x;
  float y;
  float vitesseX;
  float vitesseY;
  color couleur;
  Balle (float nouvX, float nouvY, color nouvCouleur) {
    x = nouvX;
    y = nouvY;
    couleur = nouvCouleur;
    vitesseX = 2 + 1;
    vitesseY = 2 + 1;
  }

  void affiche() {
    fill(couleur);
    ellipse(x, y, 13, 13);
  }

  void bouge() {
    x = x + vitesseX;
    y = y + vitesseY;
  }

  void rebondir() {
    if (x > width-7 || x < 7) {
      vitesseX = vitesseX * -1;
    }

    if ( y < 7) {
      vitesseY = vitesseY * -1;
    }

    //if (red (get ((int)(x),(int)(y)))==255){vitesseY = - vitesseY;}
    if (red (get ((int)(x), (int)(y+7)))==0) {
      vitesseY = - vitesseY;
    }
    if (red (get ((int)(x), (int)(y-7)))==255) {
      vitesseY = - vitesseY;
for (int i=0; i<15; i++) {
      if (x>52*i && x<52*(i+1)) {
        couleurbriques[i][6] = #469FD8;
      }
}
    }
  }
}
       
       
  void fenetre1 () {
  //image ( bleu, 0, 0, 778,500);
  noStroke ();
  fill(0);
  rect (100, 100, 100, 100);
  rect (100, 150, 100, 100);
  fill (0);
  text ("JOUER", 100, 100);
}

Merci d'avance.

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2017