Beispiel #1
0
 public void Draw(SpriteBatch spriteBatch)
 {
     foreach (var part in tail)
     {
         part.Value.Draw(contentManager, spriteBatch);
     }
     Head.Draw(contentManager, spriteBatch);
 }
Beispiel #2
0
        public void Draw(Graphics graphics, Brush brush)
        {
            Head.Draw(graphics, GameContext.HeadBrush);

            foreach (var element in Body)
            {
                element.Draw(graphics, GameContext.BodyBrush);
            }
        }
Beispiel #3
0
        public void Move(bool clearTail = true)
        {
            Point newHead;

            switch (direction)
            {
            case Directions.Right:
                newHead = new Point(Head.X + 1, Head.Y, 'x');
                break;

            case Directions.Left:
                newHead = new Point(Head.X - 1, Head.Y, 'x');
                break;

            case Directions.Up:
                newHead = new Point(Head.X, Head.Y - 1, 'x');
                break;

            case Directions.Down:
                newHead = new Point(Head.X, Head.Y + 1, 'x');
                break;

            default:
                goto case Directions.Right;
            }

            body.Add(newHead);
            Head.Draw();

            if (clearTail)
            {
                Tail.Clear();
                body.Remove(Tail);
            }

            canRotate = true;
        }