Scheme Path Solver is a Scheme-based utility designed to navigate paths in a grid layout. The program calculates the sequence of movements needed to travel from a starting point to a finish point in a grid where black cells represent walls and white cells are navigable. The starting point is always at [0,0]
, and the finish point is denoted by the letter 'F'.
- Grid Dimensions: Retrieve the grid’s height and width using
getHeight
andgetWidth
functions. - Cell Content: Access the letter at any grid position with the
getLetter
function. - Path Solution: Solve the path with the
solvePath
function, which returns a sequence of movements.
- Racket Scheme interpreter. Download it from here.
-
Using Git:
- Clone the repository using the following command:
git clone https://github.com/sancakerkan/SchemePathSolver
- Navigate to the project directory:
cd SchemePathSolver
- Clone the repository using the following command:
-
Alternatively, Download ZIP:
- Using Racket:
- Open the Racket IDE.
- Set the language to "The Racket Language".
- Open the file
src/PathSolver.rkt
. - Run the program.
The program provides a solution as a sequence of movements such as "D D R R R R D D". This sequence indicates movements down 2 times, right 4 times, and down 2 more times. The grid layout ensures that there is only one solution with a single possible move for each step.
We welcome contributions to improve the project! To contribute:
- Fork the Repository: Create your own copy of the project.
- Create a Branch: Create a feature branch for your changes.
- Make Changes: Implement new features or fix bugs.
- Submit a Pull Request: Propose your changes to be merged.
This project is licensed under the MIT License. See the LICENSE file for more details.
- Special thanks to Elif Aysu Kürşad and Metehan Tüter for their valuable contributions and support.