/// <summary> /// If there are already body parts than create new based on the localization of the last one. /// </summary> /// <param name="previousSquare">Last snake body part</param> /// <param name="thisSquare">New body part</param> /// <returns></returns> public SnakeSquare CreateSquare(SnakeSquare previousSquare, SnakeSquare thisSquare) { if (previousSquare.CurrentMovement == SnakeMovement.Up) { thisSquare.ChangeMovement(SnakeMovement.Up); thisSquare.Y = previousSquare.Y + 10; thisSquare.X = previousSquare.X; } else if (previousSquare.CurrentMovement == SnakeMovement.Down) { thisSquare.ChangeMovement(SnakeMovement.Down); thisSquare.Y = previousSquare.Y - 10; thisSquare.X = previousSquare.X; } else if (previousSquare.CurrentMovement == SnakeMovement.Right) { thisSquare.ChangeMovement(SnakeMovement.Right); thisSquare.Y = previousSquare.Y; thisSquare.X = previousSquare.X - 10; } else if (previousSquare.CurrentMovement == SnakeMovement.Left) { thisSquare.ChangeMovement(SnakeMovement.Left); thisSquare.Y = previousSquare.Y; thisSquare.X = previousSquare.X + 10; } return(thisSquare); }
/// <summary> /// If there are no other body parts than create a new one based on the localization of the snake /// </summary> /// <param name="snake">Player</param> /// <param name="thisSquare">New body part</param> /// <returns></returns> public SnakeSquare CreateSquare(Snake snake, SnakeSquare thisSquare) { var previousSquare = new SnakeSquare() { X = snake.X, Y = snake.Y, CurrentMovement = snake.CurrentMovement }; return(CreateSquare(previousSquare, thisSquare)); }
/// <summary> /// If there are no other squares then move the square according to the snake /// </summary> /// <param name="snake">Player</param> /// <param name="thisSquare">This square</param> /// <returns></returns> public SnakeSquare MoveSquare(Snake snake, SnakeSquare thisSquare) { var previousSquare = new SnakeSquare() { X = snake.X - snake.XSpeed, Y = snake.Y - snake.YSpeed, CurrentMovement = snake.CurrentMovement }; return(MoveSquare(previousSquare, thisSquare)); }