10/11/20 18:01:15
>>226
ごめん。↓ここがおかしいわ。
gAnd[y][x] = 0;
int xx,yy;
for (yy=((y-3)<0?0:(y-3)) ; !gAnd[y][x] && yy<((y+3)>300?300:(y+3)) ;yy++) {
for (xx=((x-3)<0?0:(x-3)) ; !gAnd[y][x] && xx<((x+3)>300?300:(x+3)) ;xx++) {
if (gW[y][x] && gR[y][x]) {
gAnd[y][x] = 1;
}
}}
正しくは、というより俺がイメージしたのは↓。
/* "3ドット広げて、W,Rともドットがあったら"って処理のつもり */
gAnd[y][x] = 0;
int xx,yy;
int flag = 0;
for (yy=((y-3)<0?0:(y-3)) ; !gAnd[y][x] && yy<((y+3)>300?300:(y+3)) ;yy++) {
for (xx=((x-3)<0?0:(x-3)) ; !gAnd[y][x] && xx<((x+3)>300?300:(x+3)) ;xx++) {
if (gW[y][x]) flag |= 1;
if (gR[y][x]) flag |= 2;
if (flag==3) gAnd[y][x] = 1;
}}