Pokemon Showdown Battle Bot 项目教程
1. 项目的目录结构及介绍
showdown/
├── data/
│ └── ...
├── github/workflows/
│ └── ...
├── showdown/
│ └── ...
├── teams/
│ └── ...
├── tests/
│ └── ...
├── .gitignore
├── Dockerfile
├── ENGINE.md
├── LICENSE
├── README.md
├── config.py
├── constants.py
├── env
├── requirements-docker.txt
├── requirements.txt
└── run.py
目录结构介绍
- data/: 存放数据文件,如团队数据集。
- github/workflows/: 存放GitHub Actions的工作流配置文件。
- showdown/: 存放主要的Python代码,包括战斗机器人实现。
- teams/: 存放团队配置文件。
- tests/: 存放测试代码。
- .gitignore: Git忽略文件配置。
- Dockerfile: Docker构建文件。
- ENGINE.md: 战斗引擎的详细说明。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- config.py: 配置文件。
- constants.py: 常量定义。
- env: 环境变量配置文件。
- requirements-docker.txt: Docker环境下的依赖文件。
- requirements.txt: 项目依赖文件。
- run.py: 项目启动文件。
2. 项目的启动文件介绍
run.py
run.py
是项目的启动文件,负责初始化并启动Pokemon Showdown Battle Bot。它读取环境变量配置,加载相应的战斗机器人模块,并根据配置的模式(如挑战用户、搜索天梯等)执行相应的操作。
主要功能
- 环境变量加载: 从
env
文件中加载配置。 - 战斗机器人初始化: 根据配置的
BATTLE_BOT
变量加载相应的战斗机器人模块。 - 战斗执行: 根据配置的模式执行战斗,如挑战特定用户、搜索天梯等。
3. 项目的配置文件介绍
env
env
文件用于配置项目的环境变量,以下是一些关键配置项:
- BATTLE_BOT: 指定使用的战斗机器人模块,如
safest
、nash_equilibrium
等。 - WEBSOCKET_URI: Pokemon Showdown的WebSocket地址。
- PS_USERNAME: Pokemon Showdown的用户名。
- PS_PASSWORD: Pokemon Showdown的密码。
- BOT_MODE: 机器人操作模式,如
CHALLENGE_USER
、SEARCH_LADDER
等。 - POKEMON_MODE: 游戏模式,如
gen8ou
、gen7randombattle
等。 - RUN_COUNT: 机器人执行的战斗次数。
- TEAM_NAME: 使用的团队文件名。
- ROOM_NAME: 机器人加入的聊天室名称。
- SAVE_REPLAY: 是否保存战斗回放。
- LOG_LEVEL: 日志级别。
示例配置
BATTLE_BOT=safest
WEBSOCKET_URI=wss://sim3.psim.us/showdown/websocket
PS_USERNAME=MyUsername
PS_PASSWORD=MyPassword
BOT_MODE=SEARCH_LADDER
POKEMON_MODE=gen7randombattle
RUN_COUNT=1
通过这些配置,可以灵活地调整机器人的行为和操作模式。