私はXNAで開発された小さなゲーム(5クラス)を持っています。ボールが窓の周りを跳ね返り、窓の両側に衝突すると直角に動く。ユーザはウィンドウ内の任意の場所にマウスをドラッグすることによってマーキーを作成します。マーキーが作成され、確認されると、ボールがマーキーに当たるたびに、それが削除されます。私は2次元配列で私のボールを持っており、このタイプの配列からボールを取り除く方法を知りました。現在、私は次のことを行っています:ランダム化された条件に基づいて2次元配列からアイテムを削除するにはどうすればよいですか?
Rectangle ball = new Rectangle((moveBallX - 4), (moveBallY - 4), moveBallX, moveBallY);
Rectangle marquee = new Rectangle(tempInitialX, tempInitialY, tempWidth, tempHeight);
if (ball.Intersects(marquee))
{
balls[rowIndex, columnIndex].SetRed(0);
balls[rowIndex, columnIndex].SetGreen(0);
balls[rowIndex, columnIndex].SetBlue(0);
}
これはマーキーを黒にするボールが見えなくなるようにします。私はボード上に残っているボールの数を表示するなどのコードを使って他のことをしたいので、配列からアイテムを削除できるようにすると便利です。
お時間をいただきありがとうございます。
2D配列(1Dの配列ではない)で?ただ好奇心が強い – Cameron
良い質問。ゲームの最初の5秒間は静止している間に色が点滅して回転するため、2D配列に配置する方が簡単でした。彼らはそれが変更された場合、ゲームのウィンドウに柔軟性があったグリッドに配置されました。これらの理由から、私は2D配列を使用することを選択しました。 – kymully