
Maze Solver Game
Project Title
Maze Solver Game (using Angular)
Project Summary
The Maze Solver Game is a logic-based puzzle game built with Angular where the player either navigates through a maze manually or watches an AI algorithm find the solution. The game demonstrates pathfinding techniques and encourages problem-solving skills. It's ideal for showcasing both interactive gameplay and algorithm visualization.
Core Features
- Maze Generation: Random or predefined mazes are generated for the player or AI to solve.
- Manual Play Mode: Players can navigate the maze using keyboard arrow keys or on-screen controls.
- AI Solver Mode: Demonstrates how a pathfinding algorithm (e.g., BFS, DFS, A*, Dijkstra) can solve the maze automatically.
- Visual Pathfinding: Animates the algorithm’s process as it searches through the maze to reach the goal.
- Collision Detection: Prevents the player or algorithm from passing through walls.
- Reset and Regenerate: Allows the user to reset the maze or generate a new one.
- Goal Detection: Checks when the player or AI reaches the end point of the maze.
- Timer: Tracks how long it takes to solve the maze.
Technologies Used
- Angular: For creating the interactive UI, managing game logic, and updating maze states.
- RxJS: For animation timing, controlling step-by-step visualization of algorithms.
- Angular Services: Handles the maze data structure, game logic, and solver implementation.
- CSS/SCSS: For grid-based maze layout and animations for player or AI movement.
- TypeScript: Used to implement the maze generation, player movement, and AI algorithms.
Learning Outcomes
- Building dynamic grid-based games using Angular.
- Understanding and visualizing pathfinding algorithms.
- Applying reactive programming with RxJS for step-based animations.
- Managing complex game state across Angular components.
- Structuring game logic cleanly using Angular services and TypeScript.
Possible Enhancements
- Add multiple difficulty levels with larger and more complex mazes.
- Include different algorithms to compare speed and efficiency.
- Allow users to draw custom mazes and test solutions.
- Add a leaderboard for fastest times in manual mode.
- Use local storage to save user progress or preferences.
- Add themes or visual styles (e.g., dungeon, forest, futuristic maze).