Example #1
0
        private void DropBrick()
        {
            int Timetemp = Environment.TickCount;

            if (Timetemp - startY > Checktime)
            {
                // 현재시간 - 시작점이 주기보다 크다면 다음을 실행하고
                startY = Timetemp; // 시작점을 다시 현재시간으로 초기화

                if (stage.IsSomethingBelow(PosX, PosY, nowBrick))
                {
                    // 아래에 무엇이 있다면 더이상 블럭이 내려가지 않고
                    // 스테이지에 저장후 블럭의 좌표 및 새로운 블럭으로 재설정
                    if (PosY <= 0)
                    {
                        Endflag = false;
                    }
                    stage.SaveStage(doublebuffer);
                    PosX = 4;
                    PosY = 0;
                    SetBricks();
                    return;
                }
                // 주기마다 좌표값을 증가시켜 블럭이 떨어지는것 처럼 구현
                PosY++;
            }
        }
Example #2
0
        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));
            // 점수출력
        }