前提・実現したいこと
processingでを使っています。エラーが出るのですが配列に間違いがあるのでしょうか?
解決方法が知りたいです。
発生している問題・エラーメッセージ
arrayindexoutofboundsexception
該当のソースコード
int boardX;
int boardY;
int roadW;
int [][] roadMap;
void setup() {
size(800, 600);
makeBoard(13, 9, 46);
initMaze();
}
void draw() {
drawMaze();
}
void makeBoard(int x, int y, int w) {
boardX=x+4;
boardY=y+4;
roadW=w;
roadMap=new int [boardX][boardY];
}
void initMaze() {
for (int x=0; x<=boardX-1; x++) {
for (int y=0; y<=boardY-1; y++) {
roadMap[x][y]=1;
}
}
for (int x=3; x<=boardX-4; x++) {
for (int y=3; y<=boardY-4; y++) {
roadMap[x][y]=0;
}
}
roadMap[2][3]=2;
roadMap[boardX-3][boardY-4]=3;
}
void drawMaze() {
noStroke();
background(HSB, 0, 0, 100);
for (int x=2; x<=boardX-3; x++) {
for (int y=2; y<=boardX-3; y++) {
if (roadMap[x][y]==0) {
fill(100, 0, 0);
} else if (roadMap[x][y]==1) {
fill(0, 200, 0);
} else if (roadMap[x][y]==2) {
fill(200, 200, 0);
} else if (roadMap[x][y]==3) {
fill(200, 0, 200);
}
rect(roadWx, roadWy, roadW, roadW);
}
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。