in games/play.py [0:0]
def play_game(game: int, env: Environment, players: dict[str, Player]):
env.reset()
for step, agent in enumerate(env.agent_iter()):
observation, reward, termination, truncation, info = env.last()
if termination or truncation:
break
player = players[agent]
player.observations.append(Move(observation).name)
player.scores.append(
(player.scores[-1] if player.scores else 0)
+ (1 if reward > 0 else 0)
)
player.crew.kickoff(
inputs={
"observations": player.observations,
"reward": Reward(
-2 if step == 0 or step == 1 else reward
).name,
"step": step + 1,
"game": game + 1,
}
)
env.step(Move[player.move()].value)
env.close()