예제 #1
0
파일: Player.cs 프로젝트: krix38/snake
        public void InitialDrawSnakeHorizontal()
        {
            var currentX = headX;
            var currentY = headY;

            ConsoleWrapper.ConsoleWriteCharXY(HEAD_CHAR, headX, headY);
            for (int i = 0; i < this.Length; i++)
            {
                ConsoleWrapper.ConsoleWriteCharXY(BODY_CHAR, --currentX, currentY);
                bodyCoords.Add(new Tuple <int, int>(currentX, currentY));
            }
            tailX = currentX;
            tailY = currentY;
            Console.SetCursorPosition(0, Console.WindowHeight - 1);
        }
예제 #2
0
파일: Player.cs 프로젝트: krix38/snake
        private void moveTail()
        {
            ConsoleWrapper.ConsoleWriteCharXY(' ', tailX, tailY);
            removeBodyCoords(tailX, tailY);
            switch (tailQueue.Dequeue())
            {
            case RIGHT:
                tailX++;
                break;

            case LEFT:
                tailX--;
                break;

            case UP:
                tailY--;
                break;

            case DOWN:
                tailY++;
                break;
            }
        }
예제 #3
0
파일: Player.cs 프로젝트: krix38/snake
 private void moveDown()
 {
     ConsoleWrapper.ConsoleWriteCharXY(HEAD_CHAR, headX, ++headY);
     tailQueue.Enqueue(DOWN);
 }
예제 #4
0
파일: Player.cs 프로젝트: krix38/snake
 private void moveUp()
 {
     ConsoleWrapper.ConsoleWriteCharXY(HEAD_CHAR, headX, --headY);
     tailQueue.Enqueue(UP);
 }
예제 #5
0
파일: Player.cs 프로젝트: krix38/snake
 private void moveLeft()
 {
     ConsoleWrapper.ConsoleWriteCharXY(HEAD_CHAR, --headX, headY);
     tailQueue.Enqueue(LEFT);
 }
예제 #6
0
파일: Player.cs 프로젝트: krix38/snake
 private void moveRight()
 {
     ConsoleWrapper.ConsoleWriteCharXY(HEAD_CHAR, ++headX, headY);
     tailQueue.Enqueue(RIGHT);
 }