1

ボード ゲームを作成しており、GUI に 15 x 15 の配列を表示する必要があります。配列の 1 つの要素を含む個々のラベルを使用することにしました。これは、私がかなり多くのラベルを持っていることを意味します。各ラベルに「tile_0_0」という名前を付けました。最初の 0 は行、2 番目の 0 は列です。これは、qt で行うのは非常に簡単でした。

ただし問題は、名前に変数を使用できないため、単純に 2 つの forloops を使用して各タイルにアクセスできないことです。("tile_i_j" は存在しません。) これを解決するために、すべてのラベルを含む配列を作成することにしました。ただし、前述の問題のため、配列を効率的に初期化できません。

問題は、巨大なコード ブロックを書かなくて済むようにするにはどうすればよいかということです。現在のコードの一部:

    Ui::BoardView *ui = new UI::BoardView; // BoardView is my class
    QLabel* m_boardLbArray[8][8];
    m_boardLbArray[0][0] = ui->tile_0_0;
    m_boardLbArray[0][1] = ui->tile_0_1;
    m_boardLbArray[0][2] = ui->tile_0_2;
    m_boardLbArray[0][3] = ui->tile_0_3;
    m_boardLbArray[0][4] = ui->tile_0_4;
    // ...

注: 単純にコピーして実行できるコードの一部を投稿しなかったことを残念に思いますが、GUI に関連しているため、その方法はわかりません。

4

1 に答える 1