コード例 #1
0
ファイル: MtgClass.cs プロジェクト: KimWoongwon/2A_TOTAL
 public void SaveStage(MTGClass p_cls)
 {
     // 블럭과 블럭이 겹쳤을때 빈공간을 그대로 덮어씌울경우 구멍이 나기 때문에 그부분을 위한 저장해주는 부분
     for (int i = 0; i < m_Height; i++)
     {
         for (int j = 0; j < m_Width; j++)
         {
             // 새로 내려오는 블럭의 빈공간이 기존 차있는 공간과 만났을경우 덮어 쓰지 않는다.
             if (!(buffer[i, j] == 1 && p_cls.buffer[i, j] == 0))
             {
                 buffer[i, j] = p_cls.buffer[i, j];
             }
         }
     }
 }
コード例 #2
0
ファイル: Tetris.cs プロジェクト: KimWoongwon/2A_TOTAL
        private void Render()
        {
            // 화면을 그려주는 메소드
            doublebuffer = new MTGClass();

            doublebuffer.SetBuffer(PosX, PosY, nowBrick);
            doublebuffer.SaveStage(stage);
            // 새로운 스테이지를 만들고 거기에 블럭이 내려오는 부분을 그린후에
            // SaveStage메소드에서 추가적으로 기존에 있던 블럭들의 정보를 추가 연산

            Console.CursorVisible = false;
            Console.SetCursorPosition(0, 3);
            Console.Write(doublebuffer.Getbuffer());
            // 출력부분

            Console.SetCursorPosition(50, 5);
            Console.WriteLine("Score : {0}", string.Format("{0:####}", Score));
            Console.SetCursorPosition(50, 7);
            Console.WriteLine("Level : {0}", string.Format("{0:##}", Level));
            // 점수출력
        }