in bisk/tasks/hurdleslimbo.py [0:0]
def step(self, action):
self.new_bars_hit = set()
mobefore = self.max_obstacles_cleared
obs, reward, done, info = super().step(action)
score = 1 if self.max_obstacles_cleared > mobefore else 0
touched = False
for hit in self.new_bars_hit:
if not self.bar_hit[hit] and self.notouch:
touched = True
if self.notouch:
marked = [0.8, 0.0, 0.0, 1.0]
self.p.named.model.geom_rgba[f'bar-{hit}'] = marked
score -= 1
self.bar_hit[hit] = True
info['score'] = score
reward = score
if info.get('fell_over', False):
reward = -1
done = True
return obs, reward, done, info