2016-12-18 5 views
0

안녕하세요 저는 2 차원 배열을 사용하여 2048 게임을 만들려고합니다. 나는 도움이 필요한 질문이 필요하다. 기본적으로 숫자를 결합하려고하는 동안, 매우 모호하게 들리지만 예제가 더 좋을 것이라고 생각합니다. I 위쪽 추가하고자한다면 :2 차원 배열의 행 추가

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

^^

를 | | | |

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

기본적으로 어떻게 행을 다차원 배열에 추가합니까? if는 단순한 비효율적 인 if 문을 사용하려고 생각했지만 논리는 영원히 쓸 것입니다. 행 1에 2 행을 추가하는 더 간단한 방법이 있다고 생각합니다. 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

두 차원 배열에서 매우 쉽게

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