2016-12-18 4 views
0

こんにちは私は2次元配列を使って2048ゲームを作ろうとしています。私は質問の助けを借りていくつか必要です。 基本的に私は数値を組み合わせることを理解しようとしていますが、その音は非常に曖昧ですが、私はその例が良いと思います。 私は上向きに追加したい場合:2次元配列に行を追加する

[2] [4] [8] [16]

^^^^

を| | | |

[2] [4] [8] [16]。

基本的にどのように多次元配列に行を追加しますか? 私は単純な非効率的なif文の使用を考えましたが、ロジックは永遠に書くことになります。 2行目を1行目に追加するより簡単な方法があると思っています。 Btw、私はコンピュータにランダマイザベースのシステムを使って自分自身の動きをさせています。それは基本的に1-4の間の数字を写し、数字が1に等しいならそれは上に行く。 はまた、私はここ(PLSのインデントを許して)これまでの私のコードだ2のベースに指数の中の数字を持っている:行を追加

int main() 
{ 
    class GameConfig{ 

     public : int Size[4][4] = {}; 
     void Rpos(int x, int y){ 
      //begins with a random position*// 
     x = rand() % 15; 
     y = rand() % 15; 
     if (x == y) 
      { 
      x - 1; 
     } 

     Size[x][y]; 
    } 
     void Play(){ 
      int trns = 1; 
      while(trns == 1) 
      { 
      int Dir = rand() % 4 + 1; 
      } 
      if() 

     } 
}game; 

    return 0; 
} 
+1

配列のサイズを変更することはできません。いったん2D配列を宣言すると、そのサイズで動かなくなります。 'std :: vector >'を使って、実際に行を動的に追加(または削除)することができます。 – PaulMcKenzie

+0

ああありがとう –

答えて

0

は、2次元配列では非常に簡単です例えば

Iあなたの2048ゲームが4 * 4行列であると仮定しています

void addRows(int matrix[4][4],int row1,int row2,int col) 
{ 
    for(int i= 0;i<col;i++) 
    { 

    matrix[row1][i]+=matrix[row2][i]; 
    } 
} 
+0

はいです。手伝ってくれてどうもありがとう!それは有り難いです。 –

+0

親切に受け入れてください – Ambika