- 223 名前:名前は開発中のものです。 mailto:sage [2011/04/17(日) 12:52:54.13 ID:5sAF/mq0]
- 後半の判定条件見ると、毎回必ず八方向のどれかに移動しないといけない
(どこにも移動しないというのはナシ)なのかな。 だとすると、まずどこが空いているか調べておいて、その中から選ぶのが良いかと。 // 空いている場所を調べて配列に入れる count = 0; for (ix = -32; ix <= 32; ix += 32) for (iy = -32; iy <= 32; iy += 32) { if ((ix != 0 || iy != 0) && place_free(x+ix, y+iy)) { vx[count] = ix; vy[count] = iy; count += 1; } } // 配列の中から移動先を選ぶ ii = floor(random(count)); x += vx[ii]; y += v[ii];
|

|