# Pacman
A modified version of the Pacman educational project from the [Berkeley AI Lab](http://ai.berkeley.edu/project_overview.html).
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](https://tkdocs.com/tutorial/install.html).
**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](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).
For anyone else, you can just [fork it](https://help.github.com/en/articles/fork-a-repo) 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).
Raw data
{
"_id": null,
"home_page": null,
"name": "linqs-pacai",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "AI, Artificial Intelligence, Education, Teaching",
"author": null,
"author_email": "Eriq Augustine <eaugusti@ucsc.edu>, LINQS <linqs.edu@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/ef/72/3951e1fd3924528b6288c78591b613f9bd3f1a91cdf13a7eca4a5afa2747/linqs_pacai-1.3.0.tar.gz",
"platform": null,
"description": "# Pacman\n\nA modified version of the Pacman educational project from the [Berkeley AI Lab](http://ai.berkeley.edu/project_overview.html).\n\nSome improvements from the original project:\n - Upgraded to Python 3.\n - Organized into packages.\n - Brought up to a common style.\n - Added logging.\n - Added tests.\n - Fixed several bugs.\n - Generalized and reorganized several project elements.\n - Replaced the graphics systems.\n - Added the ability to generate gifs from any pacman or capture game.\n\n## FAQ\n\n**Q:** What version of Python does this project support? \n**A:** Python >= 3.8.\nThe original version of this project was written for Python 2, but it has since been updated.\n\n**Q:** What dependencies do I need for this project? \n**A:** This project has very limited dependencies.\nThe pure Python dependencies can be installed via pip and are all listed in the requirements file.\nThese can be installed via: `pip3 install --user -r requirements.txt`.\nTo use a GUI, you also need `Tk` installed.\nThe process for installing Tk differs depending on your OS, instructions can be found [here](https://tkdocs.com/tutorial/install.html).\n\n**Q:** How do I run this project? \n**A:** All the binary/executables for this project are located in the `pacai.bin` package.\nYou can invoke them from this repository's root directory (where this file is located) using a command like:\n```\npython3 -m pacai.bin.pacman\n```\n\n**Q:** What's with the `student` package? \n**A:** The `student` package is for the files that students will edit to complete assignments.\nWhen an assignment is graded, all files will be placed in the `student` package.\nThe rest will be supplied by the autograder.\nThis makes it clear to the student what files they are allowed to change.\n\n**Q:** How do I get my own copy of repo to develop on? \n**A:** Anyone who will be committing solutions should use this template repository to create a **private repository**.\nDirections for that can be found [here](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template).\nFor anyone else, you can just [fork it](https://help.github.com/en/articles/fork-a-repo) as you normally would.\n\n## Pulling Changes from This Repo Into Your Fork\n\nOccasionally, you may need to pull changes/fixes from this repository.\nDoing so is super easy.\nJust go to your default branch and do a `git pull` command with this repository as an argument:\n```\ngit pull https://github.com/linqs/pacman.git\n```\n\n## Acknowledgements\n\nThis project has been built up from the work of many people.\nHere are just a few that we know about:\n - The Berkley AI Lab for starting this project. Primarily John Denero and Dan Klein.\n - Barak Michener for providing the original graphics and debugging help.\n - Ed Karuna for providing the original graphics and debugging help.\n - Jeremy Cowles for implementing an initial tournament infrastructure.\n - LiveWires for providing some code from a Pacman implementation (used / modified with permission).\n - The LINQS lab from UCSC.\n - Graduates of the CMPS 140 class who have helped pave the way for future classes (their identities are immortalized in the git history).\n",
"bugtrack_url": null,
"license": "## Pacman ### Licensing Information Do not distribute or publish solutions to this project. You are free to use and extend these projects for educational purposes provided that: 1. You do not distribute or publish solutions. 2. You retain this notice. 3. You provide clear attribution to UC Berkeley, including a link to http://ai.berkeley.edu. 3. You provide clear attribution to the LINQS lab, including a link to this repository: https://github.com/linqs. The Pacman AI projects were developed at UC Berkeley, primarily by John DeNero (denero@cs.berkeley.edu) and Dan Klein (klein@cs.berkeley.edu). For more info, see http://ai.berkeley.edu/project_overview.html. ### Modifications All of these files have since been modified (sometimes heavily) by the [LINQS Machine Learning Lab](http://www.linqs.org). ",
"summary": "A modified version of the Pacman educational project from the Berkley AI Lab.",
"version": "1.3.0",
"project_urls": {
"Homepage": "https://github.com/linqs/pacman",
"Repository": "https://github.com/linqs/pacman"
},
"split_keywords": [
"ai",
" artificial intelligence",
" education",
" teaching"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b988b32809ce9d998ce5d620da4ada52062932f4330d602bc452cbcf0dc4a20c",
"md5": "58646e0c1242b9439af387c680730400",
"sha256": "e991027bae6f23ff11aee30018f3a73269fb4fe2eacb6cf74b120ed8f608a196"
},
"downloads": -1,
"filename": "linqs_pacai-1.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "58646e0c1242b9439af387c680730400",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 109434,
"upload_time": "2024-08-09T22:40:56",
"upload_time_iso_8601": "2024-08-09T22:40:56.363293Z",
"url": "https://files.pythonhosted.org/packages/b9/88/b32809ce9d998ce5d620da4ada52062932f4330d602bc452cbcf0dc4a20c/linqs_pacai-1.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ef723951e1fd3924528b6288c78591b613f9bd3f1a91cdf13a7eca4a5afa2747",
"md5": "009228e8501ae857bda5dadf17fb034c",
"sha256": "b05589c524ab8fb44925887a5f2b8eee369230840f409c85eb6841a1611201fa"
},
"downloads": -1,
"filename": "linqs_pacai-1.3.0.tar.gz",
"has_sig": false,
"md5_digest": "009228e8501ae857bda5dadf17fb034c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 82292,
"upload_time": "2024-08-09T22:40:58",
"upload_time_iso_8601": "2024-08-09T22:40:58.490740Z",
"url": "https://files.pythonhosted.org/packages/ef/72/3951e1fd3924528b6288c78591b613f9bd3f1a91cdf13a7eca4a5afa2747/linqs_pacai-1.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-09 22:40:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "linqs",
"github_project": "pacman",
"travis_ci": true,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "linqs-pacai"
}