本次笔者拟通过Python解决吃豆人游戏,这是UC Berkeley的一个经典项目。
实际上是吃豆人与幽灵之间的博弈游戏,吃豆人根据豆子和幽灵的情况不断地调整自己的行动,最后完全吃完地图上的豆子,避开幽灵的攻击,这样就赢得了胜利。所以本项目的目标是设计一个智能体:
- 吃掉所有豆子
- 躲避幽灵
- 尽可能高分
项目思维导图如下:
Oops! You forgot to select a pdf file.
项目源代码可在笔者的Github下载,关于搜索智能体的代码都在multiAgents.py
文件,关于其他代码文件的说明可参考笔者的报告。
├── Project – Pacman
│ ├── VERSION
│ ├── pycache
│ │ ├── autograder.cpython-36.pyc
│ │ ├── game.cpython-36.pyc
│ │ ├── ghostAgents.cpython-36.pyc
│ │ ├── grading.cpython-36.pyc
│ │ ├── graphicsDisplay.cpython-36.pyc
│ │ ├── graphicsUtils.cpython-36.pyc
│ │ ├── keyboardAgents.cpython-36.pyc
│ │ ├── layout.cpython-36.pyc
│ │ ├── multiAgents.cpython-36.pyc
│ │ ├── multiagentTestClasses.cpython-36.pyc
│ │ ├── pacman.cpython-36.pyc
│ │ ├── pacmanAgents.cpython-36.pyc
│ │ ├── projectParams.cpython-36.pyc
│ │ ├── testClasses.cpython-36.pyc
│ │ ├── testParser.cpython-36.pyc
│ │ ├── textDisplay.cpython-36.pyc
│ │ └── util.cpython-36.pyc
│ ├── game.py
│ ├── ghostAgents.py
│ ├── graphicsDisplay.py
│ ├── graphicsUtils.py
│ ├── keyboardAgents.py
│ ├── layout.py
│ ├── layouts
│ │ ├── capsuleClassic.lay
│ │ ├── contestClassic.lay
│ │ ├── mediumClassic.lay
│ │ ├── minimaxClassic.lay
│ │ ├── openClassic.lay
│ │ ├── originalClassic.lay
│ │ ├── powerClassic.lay
│ │ ├── smallClassic.lay
│ │ ├── testClassic.lay
│ │ ├── trappedClassic.lay
│ │ └── trickyClassic.lay
│ ├── multiAgents.py
│ ├── pacman.py
│ ├── pacmanAgents.py
│ ├── projectParams.py
│ ├── textDisplay.py
│ └── util.py
├── 吃豆人指引.docx
└── 吃豆人游戏问题.pdf