0

オブジェクトやクラスなどを使って三目並べゲームを作ろうとしていますが、ユーザーがボードのサイズを設定できるようにオプションを入力することができます。現時点では、正方形の形状(3x3、4x4など)しか実行できません。

ホワイトボードに図を描いて、次に説明する内容を説明します(注文と生の軸についての右側は無視してください。これは別の目的です。また、実際に焦点を当てる必要があるのは、テーブルとコードだけです)。 :http ://d.pr/i/5CY8

ゲームボードの幅と高さは、ユーザーがインポートするサイズ(番号による番号)によって設定されます。次に、毎回新しいSquareへのポインターを作成するための2つのforループがあります。配列リストは私たちの正方形を保持します。ただし、配列リストの場所(ヘッダー内にある)のため、2次元配列の作成時にサイズを割り当てることができません。したがって、サイズを動的に割り当てる必要があります。これにより、サイズを入力したときに正方形を保持する配列リストが表示されるように、配列のサイズを設定できます。しかし、私はこれを行う方法を理解することはできません。

PastebinとVisualStudio2012の両方にコードがあります。Pastebinのリンクがたくさんあるので、VisualStudioファイルを表示する方が簡単だと思います。

Pastebin上のVisualStudioファイル/コードへのリンクのリスト(申し訳ありませんが、リンク制限に達しました!):http: //pastebin.com/spH3JaHP

4

1 に答える 1

0

ボードの状態を格納するために10x10配列(arraylist / vectorとは異なります)を使用しているようです。実行時に2次元配列を宣言する適切な方法は、new[]演算子です。例えば:

// header file
Square::SquareState ** boardArray;

// array generation
int height, width;
// get height, width
boardArray = new Square::SquareState*[height];
for (int i = 0; i < height; i ++)
    boardArray[i] = new Square::SquareState[width];

その後、boardArrayを古い2D配列として使用できます。

于 2013-02-02T02:22:49.960 に答える