# The-maze-project

Virus and anti-virus race to computer in the centre of the maze.

# Project tree

the-maze-project/
├── README.md
├── LICENSE
├── requirements.txt
├── setup.py
├── .gitignore
├── src/
│   ├── __init__.py
│   ├── main.py
│   ├── config/
│   │   ├── __init__.py
│   │   ├── settings.py
│   ├── controllers/
│   │   ├── __init__.py
│   │   ├── character_controller.py
│   │   ├── sensor_controller.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── character.py
│   │   ├── maze.py
│   ├── sensors/
│   │   ├── __init__.py
│   │   ├── ultrasonic_sensor.py
│   │   ├── infrared_sensor.py
│   ├── utils/
│   │   ├── __init__.py
│   │   ├── logger.py
│   │   ├── helper_functions.py
│   └── views/
│       ├── __init__.py
│       ├── maze_view.py
│       ├── character_view.py
├── tests/
│   ├── __init__.py
│   ├── test_character.py
│   ├── test_maze.py
│   ├── test_sensors.py
│   ├── test_controllers.py
│   ├── test_utils.py
└── docs/
    ├── index.md
    ├── installation.md
    ├── usage.md
    ├── api_reference.md

# Installation Guide

This guide will help you set up and run the project on your Raspberry Pi 4.

# Prerequisites

  1. Raspberry Pi 4 with Raspbian OS installed.
  2. Python 3.7+ installed on your Raspberry Pi.
  3. Git installed on your Raspberry Pi.

# Step-by-Step Installation

  1. Clone the Repository

    Open a terminal and run the following command to clone the repository:

git clone https://github.com/yourusername/the-maze-project.git
cd the-maze-project
  1. Create a Virtual Environment

    It's a good practice to use a virtual environment to manage dependencies. Run the following commands:

python3 -m venv venv
source venv/bin/activate
  1. Install Dependencies

    Install the required Python packages using pip:

pip install -r requirements.txt
  1. Set Up Configuration

    Configure the settings as needed. Open settings.py and modify the configuration parameters according to your setup.

  2. Connect Sensors

    Connect the sensors (ultrasonic, infrared, etc.) to the appropriate GPIO pins on your Raspberry Pi. Refer to the sensor documentation for wiring instructions.

  3. Run the Application

    Navigate to the src directory and run the main application:

cd src
python main.py

# Additional Information

  • Updating the Project To update the project with the latest changes, navigate to the project directory and pull the latest changes:
git pull origin main
  • Deactivating the Virtual Environment When you're done working on the project, you can deactivate the virtual environment by running:
deactivate

# Troubleshooting

  • Dependency Issues If you encounter issues with dependencies, try reinstalling them:
pip install --force-reinstall -r requirements.txt
  • Sensor Connection Issues Ensure that the sensors are properly connected to the GPIO pins and that the correct pins are specified in the configuration file.

For further assistance, refer to the documentation or contact the project maintainers.

# Contributing

We welcome contributions to this project! If you would like to contribute, please follow these steps:

  1. Fork the Repository

    Fork the repository to your own GitHub account by clicking the "Fork" button at the top right of the repository page.

  2. Clone the Forked Repository

    Clone the forked repository to your local machine:

git clone https://github.com/yourusername/the-maze-project.git
cd the-maze-project
  1. Create a Branch

    Create a new branch for your feature or bug fix:

git checkout -b feature-or-bugfix-name
  1. Make Your Changes

    Make your changes to the codebase. Ensure that your code follows the project's coding standards and passes all tests.

  2. Install Dependencies

    If you haven't already, create a virtual environment and install the dependencies:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
  1. Run Tests

    Run the tests to ensure that your changes do not break existing functionality:

python -m unittest discover tests
  1. Commit Your Changes

    Commit your changes with a descriptive commit message:

git add .
git commit -m "Description of your changes"
  1. Push to Your Fork

    Push your changes to your forked repository:

git push origin feature-or-bugfix-name
  1. Create a Pull Request

    Go to the original repository on GitHub and create a pull request from your forked repository. Provide a clear description of your changes and any relevant information.

  2. Review Process

    Your pull request will be reviewed by the project maintainers. They may request changes or provide feedback. Once your pull request is approved, it will be merged into the main branch.

# Code of Conduct

Please note that this project adheres to a Code of Conduct. By participating, you are expected to uphold this code.

*Thank you for contributing!