GithubHelp home page GithubHelp logo

ia_t1's Introduction

AI Project 1: Maze Search

Overview

This project is an implementation of search algorithms for a maze game. The game is implemented using the pygame library.

The code was developed in Python 3.10.

Algorithms

The following algorithms are implemented:

  • Breadth First Search
  • Depth First Search
  • Greedy Search
  • Iterative Deepening Search
  • A* Search
  • Weighted A* Search
  • Genetic Algorithm

Heuristics

The following heuristics are implemented:

  • Manhattan Distance
  • Chebyshev Distance
  • Euclidean Distance

Code Structure

The code's arquitecture is based on the MVC (Model-View-Controller) pattern. The code is structured as follows:

  • /algorithms/: The search algorithms
  • /assets/: The assets used in the program
  • /controller/: The controller classes
  • /menu/: The menu classes
  • /model/: The model classes
  • /view/: The view classes

Running the Code

The code can be run from the command line using the following command:

python3 main.py [--statistics]

Dependencies

The dependencies needed to run the code are present in the requirements.txt file. They can be installed using the following command:

pip3 install -r requirements.txt

Statistics

The --statistics flag can be used to print statistics about the search. The statistics are outputed to a results.xlsx file.

Output

The output of the program is the game itself. The visualization is done using the pygame and pygame_menu libraries.

Gameplay

Choose maze and algorithm in the menu.

Reach the end before the time runs out!

If you feel stuck, just press H and get a tip!

Have a chosen search algorithm solve the maze for you.

Group Members

ia_t1's People

Contributors

rica320 avatar m21ark avatar liavieir avatar

Watchers

 avatar

Forkers

rica320

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.