private void UpdatePacmanPosition(Map.Direction direction) { position = Vector2.Zero; switch (direction) { case Map.Direction.Right: position.X += pacman.Velocity; rotation = 0f; break; case Map.Direction.Down: position.Y += pacman.Velocity; rotation = MathHelper.ToRadians(90f); break; case Map.Direction.Left: position.X -= pacman.Velocity; rotation = MathHelper.ToRadians(180f); break; case Map.Direction.Up: position.Y -= pacman.Velocity; rotation = MathHelper.ToRadians(270f); break; } pacman.UpdatePosition(position); if (pacman.IsIntersectsWithWalls()) { pacman.UpdatePosition(-position); } else { if (pacman.IsIntersectsWithFood()) { pacman.Score += 10; BallEated(); if (pacman.Map.FoodBlocks.Count == 0) { } } lastDirection = direction; pacman.Rotation = rotation; } }