사용자 도구

사이트 도구


raylib:tetris:테트리스_개념_및_준비
테트리스 개념 및 준비

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
raylib:tetris:테트리스_개념_및_준비 [2023/12/23 23:21] 이거니맨raylib:tetris:테트리스_개념_및_준비 [2023/12/24 12:46] (현재) – Drawbackground 이거니맨
줄 38: 줄 38:
  
         // 테트리스 설정         // 테트리스 설정
-        int numCols;  +        int numCols; // 컬럼 갯수 
-        int numRows; +        int numRows;  // 행의 갯수 
-        int paddingX; +        int paddingX; // 화면 x 패딩  
-        int paddingY; +        int paddingY; // 화면 y 패딩  
-        int cellSize; +        int cellSize; // 셀의 크기 
  
-        int backGrid[20][10]; +        int backGrid[20][10]; // 그리드의 크기 20행 10열 
  
         // Color Pallette          // Color Pallette 
줄 50: 줄 50:
 </code> </code>
  
-==== 3. gam.cpp에 그리드 그려보기 ==== + 
 +가로 20 세로 10의 그리드 행렬에는 숫자값(int)을 저장한다. 이 숫자에 따라 해당 셀의 색상이 바뀌는 것이다.  
 + 
 +0은 블랙, 1은 흰색, 2는 어두운녹색, 3은 노랑, 4는 빨강색으로 그려준다.  
 + 
 +==== 3. game.cpp에 그리드 그려보기 ====  
 + 
 +먼저 game 클래스가 생성될 때 각 값들을 초기화해야 한다.  
 + 
 +=== 가. Game::Game() 메서드 === 
 + 
 +<code raylib> 
 +Game::Game() 
 +
 +    numCols = 10; 
 +    numRows = 20; 
 +    paddingX = 100; 
 +    paddingY = 100; 
 +    cellSize = 30; 
 + 
 +    for (int i = 0; i < 20; i++) 
 +    { 
 +        for (int j =0; j < 10; j++) 
 +        { 
 +            backGrid[i][j] = 0; 
 +        } 
 +    } 
 +     
 +    backGrid[18][2] = 3; 
 +    backGrid[18][3] = 3; 
 +    backGrid[19][3] = 3; 
 + 
 +
 +</code>  
 + 
 +그리드 전체를 0으로 하여 검은색으로 덮되, 맨 아래쪽 몇개는 노랑색이 나오게 해보았다.  
 + 
 + 
 +=== 나. Draw메서드 ===  
 + 
 +따로 DrawBackground()함수를 호출하게 한 후에, 그 DrawBackground()함수를 다음과 같이 만들었다.  
 + 
 +<code raylib> 
 +void Game::DrawBackground() 
 +
 +    ClearBackground(DARKBLUE); 
 + 
 + 
 +    for (int row = 0; row < numRows; row++) 
 +    { 
 +        for (int column = 0; column < numCols; column++) 
 +        { 
 +            int cellValue = backGrid[row][column]; 
 +            DrawRectangle(paddingX + column * cellSize, paddingY + row*cellSize, cellSize - 5 , cellSize - 5 , colors[cellValue]); 
 +        } 
 +    } 
 +
 +</code> 
  
  
raylib/tetris/테트리스_개념_및_준비.1703341298.txt.gz · 마지막으로 수정됨: 2023/12/23 23:21 저자 이거니맨