0
私はボード上の各スペースのメモリを保持するために2次元配列を使うOthello/Reversiゲームを作っています。配列の範囲外のインデックスを避けるには?
有効な移動を確認するために、同じ行に沿って次のスペースを確認するためにr + 1を使用するif文を使用しています。しかし、配列が[8、8]だけ大きいので、rが8の状況に遭遇すると、配列の9番目の要素をチェックしようとしているのでエラーが発生します。これは私に範囲外のインデックスのエラーを与えます。
この問題を解決するにはどうすればよいでしょうか?私は多分リストにスワッピングすると思ったが、2d配列でもうまくいくかどうかは分かりません。
public box[,] grid = new box[8, 8];
if ((grid[r + 1, c].value == currentPlayer)
{
return true;
}
避ける方法?インデックスの境界外でないことを確認します。 :-) –
'Length'プロパティまたは' Length() 'メソッドの使用を検討してください – Ian
サイズを検証できるように、サイズをArrayにするconstを使用してください。 const int SIZE = 8; – jdweng