chefmanaphy | 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 |