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; } } }
public void Update(GameTime gameTime, ScreenPad screenPad, GameArea gameArea, Apple apple, ScreenManager screenManager) { Movement(gameTime, screenPad); Collision(gameTime, gameArea, apple, screenManager); }
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); }