Example #1
0
        public SLSnake(SLLevel curLevel)
            : base(curLevel)
        {
            CurLevel = curLevel;

            Pos = new Point(CurLevel.SnakeStartPosX * CurLevel.TileSize, CurLevel.SnakeStartPosY * CurLevel.TileSize);

            //Check if the Snake is animated and set necessary animation initialization
            Animated = CurLevel.AnimatedSnake;

            if (Animated)
            {
                _initSnakeAnimation();
                _initCollisionAnimation();
                SnakeUtils.InitAnimationInDict(AnimationsDict, "win", CurLevel.Animation.FilenameWin, CurLevel.Animation.WinFrames, CurLevel.LevelCanvas);
            }
            else
            {
                SnakeImage = SnakeUtils.LoadImage(CurLevel.FilenameHead);
                CurLevel.LevelCanvas.Children.Add(SnakeImage);
            }

            SnakeImage.SetValue(Canvas.LeftProperty, Pos.X);
            SnakeImage.SetValue(Canvas.TopProperty, Pos.Y + CurLevel.SnakeOffsetY);
        }
Example #2
0
        public SLTail(SnakeUtils.Directions direction, int tailPosX, int tailPosY, SLLevel curLevel)
            : base(direction, tailPosX, tailPosY, curLevel)
        {
            CurLevel = curLevel;
            _pos.X   = (double)(tailPosX * CurLevel.TileSize);
            _pos.Y   = (double)(tailPosY * CurLevel.TileSize);

            switch (direction)
            {
            case SnakeUtils.Directions.Up: _pos.Y += CurLevel.TileSize;
                break;

            case SnakeUtils.Directions.Right: _pos.X -= CurLevel.TileSize;
                break;

            case SnakeUtils.Directions.Down: _pos.Y -= CurLevel.TileSize;
                break;

            case SnakeUtils.Directions.Left: _pos.X += CurLevel.TileSize;
                break;
            }


            if (CurLevel.AnimatedSnake)
            {
                _initAnimation();
                SnakeUtils.InitAnimationInDict(AnimationsDict, "win", CurLevel.Animation.FilenameWin, CurLevel.Animation.WinFrames, CurLevel.LevelCanvas);
                SnakeUtils.InitAnimationInDict(AnimationsDict, "grow", CurLevel.Animation.FilenameGrow, CurLevel.Animation.GrowFrames, CurLevel.LevelCanvas);
                SnakeUtils.InitAnimationInDict(AnimationsDict, "shrink", CurLevel.Animation.FilenameShrink, CurLevel.Animation.ShrinkFrames, CurLevel.LevelCanvas);
            }
            else
            {
                TailImage = SnakeUtils.LoadImage(curLevel.Animation.FilenameTail);
                CurLevel.LevelCanvas.Children.Add(TailImage);
            }

            TailImage.SetValue(Canvas.LeftProperty, Pos.X);
            TailImage.SetValue(Canvas.TopProperty, Pos.Y + CurLevel.SnakeOffsetY);
        }