Skip to content

Jahamars/pathfinder

Repository files navigation

Pthfinder

Решение задачи о поиске пути в лабиринте с использованием алгоритма поиска в ширину (BFS).

Возможности

  • Поиск кратчайшего пути от точки старта (1) до финиша (F) в лабиринте
  • Визуализация найденного пути
  • Генерация случайных лабиринтов для тестирования
  • Полное покрытие кода тестами

Требования

  • Rust 1.58 или новее
  • Cargo

Установка

# Клонирование репозитория
git clone https://github.com/jahamars/pathfinder.git
cd pathfinder

# Сборка проекта
cargo build

# Сборка релизной версии
cargo build --release

Использование

Запуск программы

# Запуск с лабиринтом по умолчанию
cargo run

# Запуск с указанием пути к файлу
cargo run -- --path path/to/maze.txt

# Запуск с визуализацией
cargo run -- --path path/to/maze.txt --format visual

# Запуск в режиме отладки
cargo run -- --path path/to/maze.txt --debug

Генерация лабиринта

# Генерация случайного лабиринта 20x20
cargo run --bin generate_maze

# Генерация лабиринта с заданными размерами
cargo run --bin generate_maze -- 30 15 custom_maze.txt

Формат файла с лабиринтом

5
5
#####
1___#
###_#
#___#
#F###

Где:

  • Первая строка - ширина лабиринта
  • Вторая строка - высота лабиринта
  • Последующие строки - сам лабиринт, где:
    • # - стена
    • _ - пустое пространство
    • 1 - точка старта
    • F - точка финиша

Разработка

Запуск тестов

# Запуск всех тестов
cargo test

# Запуск тестов с выводом
cargo test -- --nocapture

Генерация отчета о покрытии

make coverage

Создание установочного пакета

make package

About

PathFinder

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors