请详细解释这段代码def __init__self env reset_round=True rendering=False superStreetFighterCustomWrapper self__init__env selfenv = env # Use a deque to store the last 9 frames selfnu
这段代码定义了一个名为StreetFighterCustomWrapper的类,它继承了gym.Wrapper类,并且重写了其__init__方法。该类的作用是对Street Fighter游戏环境进行定制化的包装。
该类的构造函数有三个参数:env是游戏环境,reset_round和rendering分别是是否重置回合和是否渲染游戏画面的标志。
在构造函数中,首先调用父类的构造函数,将env作为参数传递给父类,并将env保存到自己的env属性中。
接下来,定义了一个长度为9的双向队列frame_stack,用于存储最近的9帧游戏画面。其中num_frames表示队列最大长度,frame_stack表示队列实例。
num_step_frames表示每步游戏中包含的帧数,reward_coeff表示奖励系数,total_timesteps表示总的游戏步数。
full_hp表示每个角色的最大生命值,prev_player_health和prev_oppont_health分别表示上一步玩家和对手的生命值。
observation_space表示游戏画面的观测空间,是一个100x128x3的三维数组,表示游戏画面的像素值。
最后,将reset_round和rendering分别保存到reset_round和rendering属性中
原文地址: https://www.cveoy.top/t/topic/fa7M 著作权归作者所有。请勿转载和采集!