Processing : Problème NullPointerException

Processing : Problème NullPointerException - Java - Programmation

Marsh Posté le 02-02-2017 à 19:06:29    

Bonjour,
 
 je suis actuellement en train d'essayer de coder un puissance 4 sur processing 3.2.3  
(je sais que quelqu'un le fait déjà mais celui là je veux le faire autrement)
 
Le problème est que le message d'erreur NullPointerException s'affiche une fois le programme lancé.
 
J'ai fais le code en 3 onglets : puissance4, Cellx, et Celly.
 
puissance4 :

Spoiler :


Cellx[] cellys;
color c;
void setup() {
  size(700,350);
  cellys = new Cellx[7];
  for (int i=0; i<7; i++) {cellys[i]=(new Cellx(i));}
  c = color(0,255,0);
  addcell(1,1,1);
}
void draw() {
  fill(0);
  rect(0,0,50,350);
  fill(c);
  for (int i=0;i<7;i++) {for (int j=0;j<7;j++) {rect(0,i*50,350,5);};rect(i*50,0,5,350);}
  for (int i=0;i<7;i++) {cellys[i].setup();cellys[i].display();
    for (int j=0;j<6;j++) {cellys[i].cells[j].display();}
  }
}
void addcell(int t,int x_,int y_) {
  int x=x_;int y=y_;
  cellys[x].cells[y].t=t;
}


Cellx :

Spoiler :


class Cellx {
  Celly[] cells;
  int pos;
  void setup() {
    cells = new Celly[6];
  }
    Cellx(int pos_) {pos=pos_;}
  void display() {
    textSize(45);
    fill(255);
    text(char(65+pos),5+pos*50,345);
  }
}


Celly :

Spoiler :


class Celly{
  int pos;
  int posx;
  int t;
  Celly(int pos_,int o_,int posx_) {
    pos=pos_;t=o_;posx=posx_;
  }
  void display() {
    switch(t) {
      case 0 : fill(0);  return;
      case 1 : fill(255,0,0);  return;
      case 2 : fill(0,0,255);  return;
    }
    ellipseMode(CORNER);
    noStroke();
    ellipse(posx*50+5,245-pos*50,40,40);
  }
}


Merci, si il est possible de m'aider, trouver un moyen de contourner le problème. Bonne soirée :D

Reply

Marsh Posté le 02-02-2017 à 19:06:29   

Reply

Marsh Posté le 23-02-2017 à 16:34:50    

Dans Cellx, tu crées bien un tableau de Celly mais à aucun moment tu ne renseignes les éléments de ce tableau.

 

PS : dans ton post, remplace les balises 'spoiler' par 'code'.


Message édité par Bidem le 23-02-2017 à 16:35:34
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed