Game Logic

Pac-Man Movement:

  • Movement: Pac-Man moves in four directions: up, down, left, and right. The direction is determined by the user’s input.
  • Collision Detection: Pac-Man’s movement is restricted by walls and other obstacles in the game. The game checks for collisions before moving Pac-Man. If a collision is detected, Pac-Man’s movement is stopped.
  • Source: PacMan.Blazor/Pages/Game.razor.cs
// ... Inside the MovePacMan method 
          if (CanMovePacMan(direction, gameGrid))
          {
              // Move Pac-Man
              // ...
          }
          

Ghost Movement:

  • Ghost Movement: Ghosts move randomly around the game board. Their movement is restricted by walls and other obstacles.
  • Target: The ghosts’ movement is influenced by their target, which can be either a Pac-Man or a corner of the board.
  • Source: PacMan.Blazor/Pages/Game.razor.cs
// ... inside the MoveGhosts method
          // Move each ghost based on its current target
          foreach (var ghost in ghosts)
          {
              // ... 
              // Select the next direction for the ghost
              // ...
          }
          

Scoring System:

  • Points: Pac-Man scores points by eating dots, power pellets, and ghosts.
  • Dot: Each dot is worth 10 points.
  • Power Pellet: Each power pellet is worth 50 points.
  • Ghost: The value of a ghost increases with each level.
  • Source: PacMan.Blazor/Pages/Game.razor.cs
// ... inside the UpdateScore method
          // ...
          // Calculate score based on the type of item eaten 
          // ...
          

Game Levels:

  • Level Progression: The game progresses through multiple levels. Each level increases in difficulty, with the ghosts moving faster and more aggressively.
  • Source: PacMan.Blazor/Pages/Game.razor.cs
// ... inside the StartGame method
          // ...
          // Set the initial game level and load the appropriate level
          // ...