Esempio n. 1
0
        private void Movement(GameTime gameTime, ScreenPad screenPad)
        {
            if (screenPad.RightPressed == Controls.ButtonState.Pressed && direction != Direction.Left)
            {
                direction = Direction.Right;
            }
            if (screenPad.LeftPressed == Controls.ButtonState.Pressed && direction != Direction.Right)
            {
                direction = Direction.Left;
            }
            if (screenPad.DownPressed == Controls.ButtonState.Pressed && (direction != Direction.Up))
            {
                direction = Direction.Down;
            }
            if (screenPad.UpPressed == Controls.ButtonState.Pressed && (direction != Direction.Down))
            {
                direction = Direction.Up;
            }
            timeElapsed += gameTime.ElapsedGameTime.Milliseconds;
            if(timeElapsed > millisecondsPerMove)
            {
                int i = snakeSectionArray.Length - 1;
                timeElapsed = 0;
                while( i > 0)
                {
                    snakeSectionArray[i].Rectangle = snakeSectionArray[i - 1].Rectangle;
                    i--;
                }
                switch(direction)
                {
                    case Direction.Left:
                        tempRectangle = snakeSectionArray[0].Rectangle;
                        tempRectangle.X -= snakeSectionArray[0].Texture.Width;
                        snakeSectionArray[0].Rectangle = tempRectangle;
                        break;
                    case Direction.Right:
                        tempRectangle = snakeSectionArray[0].Rectangle;
                        tempRectangle.X += snakeSectionArray[0].Texture.Width;
                        snakeSectionArray[0].Rectangle = tempRectangle;
                        break;
                    case Direction.Up:
                        tempRectangle = snakeSectionArray[0].Rectangle;
                        tempRectangle.Y -= snakeSectionArray[0].Texture.Height;
                        snakeSectionArray[0].Rectangle = tempRectangle;
                        break;
                    case Direction.Down:
                        tempRectangle = snakeSectionArray[0].Rectangle;
                        tempRectangle.Y += snakeSectionArray[0].Texture.Width;
                        snakeSectionArray[0].Rectangle = tempRectangle;
                        break;

                }
            }
        }
Esempio n. 2
0
 public void Update(GameTime gameTime, ScreenPad screenPad, GameArea gameArea, Apple apple, ScreenManager screenManager)
 {
     Movement(gameTime, screenPad);
     Collision(gameTime, gameArea, apple, screenManager);
 }
Esempio n. 3
0
        private void LoadContent()
        {
            gameArea = new GameArea();

            if (Global.TextureWidth == 20)
            {
                snake = new Snake("Snake/SmallSize/middle");
                apple = new Apple("Snake/SmallSize/apple");
            }
            else
            {
                snake = new Snake("Snake/MediumSize/middle");
                apple = new Apple("Snake/MediumSize/apple");
            }
            screenPad = new ScreenPad(Global.Content.Load<Texture2D>("Controls/upButton"),
                Global.Content.Load<Texture2D>("Controls/downButton"),
                Global.Content.Load<Texture2D>("Controls/leftButton"),
                Global.Content.Load<Texture2D>("Controls/rightButton"), false);
        }