Class DfsStrategy

java.lang.Object
com.edu.xmum.CST210.AlgorithmStrategy.DfsStrategy
All Implemented Interfaces:
IFindPathStrategy

public class DfsStrategy extends Object implements IFindPathStrategy
Implementation of the depth-first search (DFS) strategy for pathfinding in a maze. This class uses a DFS algorithm to find a path from the starting position to the goal position without recording the backtracking process.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    findPath(IMazeModel mazeModel, List<int[]> path, boolean[][] visited, int x, int y, int goalX, int goalY)
    Finds a path using DFS without recording the backtracking process.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DfsStrategy

      public DfsStrategy()
  • Method Details

    • findPath

      public boolean findPath(IMazeModel mazeModel, List<int[]> path, boolean[][] visited, int x, int y, int goalX, int goalY)
      Finds a path using DFS without recording the backtracking process.
      Specified by:
      findPath in interface IFindPathStrategy
      Parameters:
      mazeModel - The maze model containing the maze structure.
      path - A list to store the path found from start to goal.
      visited - A 2D boolean array to keep track of visited positions in the maze.
      x - The x-coordinate of the current position.
      y - The y-coordinate of the current position.
      goalX - The x-coordinate of the goal position.
      goalY - The y-coordinate of the goal position.
      Returns:
      True if a path is found, false otherwise.