private void DoCollisionCheck() { SnakePart snakeHead = snakeParts[snakeParts.Count - 1]; if ((snakeHead.Position.X == Canvas.GetLeft(snakeFood)) && (snakeHead.Position.Y == Canvas.GetTop(snakeFood))) { EatSnakeFood(); return; } if ((snakeHead.Position.Y < 0) || (snakeHead.Position.Y >= GameArea.ActualHeight) || (snakeHead.Position.X < 0) || (snakeHead.Position.X >= GameArea.ActualWidth)) { EndGame(); } foreach (SnakePart snakeBodyPart in snakeParts.Take(snakeParts.Count - 1)) { if ((snakeHead.Position.X == snakeBodyPart.Position.X) && (snakeHead.Position.Y == snakeBodyPart.Position.Y)) { EndGame(); } } }