def step()

in bisk/tasks/limbo.py [0:0]


    def step(self, action):
        self.new_bars_hit = set()
        mbbefore = self.max_bars_cleared
        obs, reward, done, info = super().step(action)

        score = 1 if self.max_bars_cleared > mbbefore 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 not self.allow_fallover and self.fell_over():
            reward = -1
            done = True
        return obs, reward, done, info