章节 01
导读 / 主楼:PokeMMon:用 MiniMax 算法重现初代宝可梦对战的 AI 项目
一个使用 Python 和 PyGame 开发的初代宝可梦对战系统复刻项目,实现了 MiniMax、Alpha-Beta 剪枝和 ExpectiMax 等 AI 算法来控制对手行为。
正文
一个使用 Python 和 PyGame 开发的初代宝可梦对战系统复刻项目,实现了 MiniMax、Alpha-Beta 剪枝和 ExpectiMax 等 AI 算法来控制对手行为。
章节 01
一个使用 Python 和 PyGame 开发的初代宝可梦对战系统复刻项目,实现了 MiniMax、Alpha-Beta 剪枝和 ExpectiMax 等 AI 算法来控制对手行为。
章节 02
章节 03
PokeMMon 是一个为人工智能课程开发的学术项目,旨在通过经典游戏场景实践博弈论和搜索算法。项目复刻了第一代宝可梦游戏(红/蓝/黄版)的战斗系统,并融入第二世代(金/银/水晶版)的一些优化和 Bug 修复。
所有使用的素材(角色、音效、图像和创意)版权归 The Pokémon Company、Nintendo、Game Freak 和 Creatures Inc. 所有。
章节 04
项目使用 Python 3.10+ 和 PyGame 模块开发,提供了完整的图形化对战界面。玩家可以在熟悉的宝可梦战斗场景中体验与 AI 对手的策略博弈。
章节 05
项目的核心亮点是实现了三种 MiniMax 类型的博弈算法:
经典的极小化极大算法,通过递归遍历游戏树,假设对手也会选择最优策略,从而做出当前局面下的最佳决策。
在 MiniMax 基础上加入剪枝优化,通过维护 alpha(己方最优值)和 beta(对手最优值)两个边界,剪掉不可能影响最终决策的分支,显著提升搜索效率。
针对存在随机因素(如技能命中率、暴击判定)的游戏场景,ExpectiMax 在决策节点之外引入机会节点,计算期望效用值而非确定性的极值,更适合处理带有概率性的游戏状态。
章节 06
确保系统已安装 Python 3.10 或更高版本,然后通过 pip 安装依赖:
pip install pygame
章节 07
克隆仓库后,在项目根目录运行:
python main.py
章节 08
项目支持多种自定义选项:
usage: main.py [-h] [--ai AI] [--depth DEPTH] [--s S]
options:
-h, --help 显示帮助信息
--ai AI AI 算法选择 [random/minimax/alphabeta/expectimax],默认 minimax
--depth DEPTH 搜索树最大深度,默认 7
--s S 音效开关 [Y/n],默认开启