gym-super-mario-bros 项目使用教程

gym-super-mario-bros 项目使用教程

gym-super-mario-bros An OpenAI Gym interface to Super Mario Bros. & Super Mario Bros. 2 (Lost Levels) on The NES gym-super-mario-bros 项目地址: https://gitcode.com/gh_mirrors/gy/gym-super-mario-bros

1. 项目目录结构及介绍

gym-super-mario-bros/
├── gym_super_mario_bros/
│   ├── __init__.py
│   ├── actions.py
│   ├── __main__.py
│   ├── make.py
│   ├── speedtest.py
│   └── wrappers.py
├── tools/
│   ├── __init__.py
│   └── ...
├── .gitignore
├── LICENSE
├── README.md
├── makefile
├── requirements.txt
├── setup.py
└── ...

目录结构介绍

  • gym_super_mario_bros/: 包含项目的主要代码文件,包括环境定义、动作空间、主程序等。
    • __init__.py: 初始化文件,用于注册环境。
    • actions.py: 定义了不同类型的动作空间。
    • __main__.py: 项目的启动文件,包含命令行接口。
    • make.py: 用于创建环境实例。
    • speedtest.py: 速度测试脚本。
    • wrappers.py: 包含环境的包装器,用于自定义环境行为。
  • tools/: 包含一些辅助工具和脚本。
  • .gitignore: Git 忽略文件配置。
  • LICENSE: 项目许可证文件。
  • README.md: 项目说明文档。
  • makefile: 用于构建和安装项目的 Makefile。
  • requirements.txt: 项目依赖库列表。
  • setup.py: 用于安装项目的脚本。

2. 项目的启动文件介绍

__main__.py

__main__.py 是项目的启动文件,提供了命令行接口,允许用户通过命令行直接运行环境。

主要功能
  • 命令行接口: 允许用户通过命令行参数指定环境 ID 和游戏模式(人类玩家或随机模式)。
  • 环境初始化: 根据用户指定的环境 ID 初始化相应的超级马里奥环境。
  • 游戏运行: 根据指定的模式(人类玩家或随机模式)运行游戏。
使用示例
python -m gym_super_mario_bros -e SuperMarioBros-v0 -m human
  • -e: 指定环境 ID,默认为 SuperMarioBros-v0
  • -m: 指定游戏模式,可选值为 humanrandom,默认为 human

3. 项目的配置文件介绍

requirements.txt

requirements.txt 文件列出了项目运行所需的所有依赖库。

内容示例
gym>=0.18.0
nes-py>=8.1.8
numpy>=1.18.0

setup.py

setup.py 文件用于安装项目及其依赖库。

主要功能
  • 安装项目: 通过 pip install . 命令安装项目及其依赖库。
  • 依赖管理: 自动安装 requirements.txt 中列出的所有依赖库。
使用示例
pip install .

makefile

makefile 文件包含了一些常用的构建和安装命令。

主要命令
  • 安装依赖: make install 用于安装项目及其依赖库。
  • 测试: make test 用于运行项目的测试脚本。
  • 清理: make clean 用于清理项目中的临时文件。
使用示例
make install

通过以上介绍,您可以更好地理解和使用 gym-super-mario-bros 项目。

gym-super-mario-bros An OpenAI Gym interface to Super Mario Bros. & Super Mario Bros. 2 (Lost Levels) on The NES gym-super-mario-bros 项目地址: https://gitcode.com/gh_mirrors/gy/gym-super-mario-bros

猜你喜欢

转载自blog.csdn.net/gitblog_00243/article/details/142810213