Skip to main content

A modified version of the Pacman educational project from the Berkley AI Lab.

Project description

Pacman

A modified version of the Pacman educational project from the Berkeley AI Lab.

Some improvements from the original project:

  • Upgraded to Python 3.
  • Organized into packages.
  • Brought up to a common style.
  • Added logging.
  • Added tests.
  • Fixed several bugs.
  • Generalized and reorganized several project elements.
  • Replaced the graphics systems.
  • Added the ability to generate gifs from any pacman or capture game.

FAQ

Q: What version of Python does this project support?
A: Python >= 3.8. The original version of this project was written for Python 2, but it has since been updated.

Q: What dependencies do I need for this project?
A: This project has very limited dependencies. The pure Python dependencies can be installed via pip and are all listed in the requirements file. These can be installed via: pip3 install --user -r requirements.txt. To use a GUI, you also need Tk installed. The process for installing Tk differs depending on your OS, instructions can be found here.

Q: How do I run this project?
A: All the binary/executables for this project are located in the pacai.bin package. You can invoke them from this repository's root directory (where this file is located) using a command like:

python3 -m pacai.bin.pacman

Q: What's with the student package?
A: The student package is for the files that students will edit to complete assignments. When an assignment is graded, all files will be placed in the student package. The rest will be supplied by the autograder. This makes it clear to the student what files they are allowed to change.

Q: How do I get my own copy of repo to develop on?
A: Anyone who will be committing solutions should use this template repository to create a private repository. Directions for that can be found here. For anyone else, you can just fork it as you normally would.

Pulling Changes from This Repo Into Your Fork

Occasionally, you may need to pull changes/fixes from this repository. Doing so is super easy. Just go to your default branch and do a git pull command with this repository as an argument:

git pull https://github.com/linqs/pacman.git

Acknowledgements

This project has been built up from the work of many people. Here are just a few that we know about:

  • The Berkley AI Lab for starting this project. Primarily John Denero and Dan Klein.
  • Barak Michener for providing the original graphics and debugging help.
  • Ed Karuna for providing the original graphics and debugging help.
  • Jeremy Cowles for implementing an initial tournament infrastructure.
  • LiveWires for providing some code from a Pacman implementation (used / modified with permission).
  • The LINQS lab from UCSC.
  • Graduates of the CMPS 140 class who have helped pave the way for future classes (their identities are immortalized in the git history).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

linqs_pacai-1.3.0.tar.gz (82.3 kB view details)

Uploaded Source

Built Distribution

linqs_pacai-1.3.0-py3-none-any.whl (109.4 kB view details)

Uploaded Python 3

File details

Details for the file linqs_pacai-1.3.0.tar.gz.

File metadata

  • Download URL: linqs_pacai-1.3.0.tar.gz
  • Upload date:
  • Size: 82.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for linqs_pacai-1.3.0.tar.gz
Algorithm Hash digest
SHA256 b05589c524ab8fb44925887a5f2b8eee369230840f409c85eb6841a1611201fa
MD5 009228e8501ae857bda5dadf17fb034c
BLAKE2b-256 ef723951e1fd3924528b6288c78591b613f9bd3f1a91cdf13a7eca4a5afa2747

See more details on using hashes here.

File details

Details for the file linqs_pacai-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: linqs_pacai-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 109.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for linqs_pacai-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e991027bae6f23ff11aee30018f3a73269fb4fe2eacb6cf74b120ed8f608a196
MD5 58646e0c1242b9439af387c680730400
BLAKE2b-256 b988b32809ce9d998ce5d620da4ada52062932f4330d602bc452cbcf0dc4a20c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page