wip Gym AI Trictrac env

This commit is contained in:
Henri Bourcereau 2025-02-10 17:39:26 +01:00
parent 883d799edb
commit 12f53d00ca

View file

@ -0,0 +1,42 @@
import gym
import numpy as np
from gym import spaces
import trictrac # module Rust exposé via PyO3
class TricTracEnv(gym.Env):
"""Environnement OpenAI Gym pour le jeu de Trictrac"""
def __init__(self):
super(TricTracEnv, self).__init__()
# Définition des espaces d'observation et d'action
self.observation_space = spaces.Box(low=0, high=1, shape=(N,), dtype=np.int32) # Exemple
self.action_space = spaces.Discrete(ACTION_COUNT) # Exemple
self.game = trictrac.TricTrac() # Instance du jeu en Rust
self.state = self.game.get_state() # État initial
def step(self, action):
"""Exécute une action et retourne (next_state, reward, done, info)"""
self.game.play(action)
self.state = self.game.get_state()
reward = self.compute_reward()
done = self.game.is_done()
return self.state, reward, done, {}
def reset(self):
"""Réinitialise la partie"""
self.game.reset()
self.state = self.game.get_state()
return self.state
def render(self, mode="human"):
"""Affiche l'état du jeu"""
print(self.game)
def compute_reward(self):
"""Calcule la récompense (à définir)"""
return 0 # À affiner selon la stratégie d'entraînement