Esempio n. 1
0
        /// <summary>
        /// 蛇的转向
        /// </summary>
        /// <param name="nextDirection">想要改变的方向</param>
        public void TurnDirection(util.Direction nextDirection)
        {
            switch (_direction)
            {
            case util.Direction.Up:
                if (nextDirection == util.Direction.Right)
                {
                    _direction = nextDirection;
                }
                else if (nextDirection == util.Direction.Left)
                {
                    _direction = nextDirection;
                }
                break;

            case util.Direction.Down:
                if (nextDirection == util.Direction.Right)
                {
                    _direction = nextDirection;
                }
                else if (nextDirection == util.Direction.Left)
                {
                    _direction = nextDirection;
                }
                break;

            case util.Direction.Left:
                if (nextDirection == util.Direction.Up)
                {
                    _direction = nextDirection;
                }
                else if (nextDirection == util.Direction.Down)
                {
                    _direction = nextDirection;
                }
                break;

            case util.Direction.Right:
                if (nextDirection == util.Direction.Up)
                {
                    _direction = nextDirection;
                }
                else if (nextDirection == util.Direction.Down)
                {
                    _direction = nextDirection;
                }
                break;
            }
        }
Esempio n. 2
0
 private Snake()
 {
     _blocks.Add(new Block(true, new Point(util.Width / 2, util.Height / 2)));  //初始化时只有蛇头
     _length    = 1;
     _direction = util.Direction.NULL;
 }