Tournament random after reset
This commit is contained in:
parent
bedb4297f2
commit
b95cf85e3d
@ -10,15 +10,14 @@ class AirHockeyTournament(AirHockeyDouble):
|
|||||||
When the puck is on one side for more than 15 seconds the puck is reset and the player gets a penalty.
|
When the puck is on one side for more than 15 seconds the puck is reset and the player gets a penalty.
|
||||||
If a player accumulates 3 penalties his score is reduced by 1.
|
If a player accumulates 3 penalties his score is reduced by 1.
|
||||||
"""
|
"""
|
||||||
def __init__(self, gamma=0.99, horizon=45000, viewer_params={}, agent_name="Agent", opponent_name="Opponent"):
|
def __init__(self, gamma=0.99, horizon=15000, viewer_params={}, agent_name="Agent", opponent_name="Opponent"):
|
||||||
self.agent_name = agent_name
|
self.agent_name = agent_name
|
||||||
self.opponent_name = opponent_name
|
self.opponent_name = opponent_name
|
||||||
|
|
||||||
self.score = [0, 0]
|
self.score = [0, 0]
|
||||||
self.faults = [0, 0]
|
self.faults = [0, 0]
|
||||||
self.start_side = np.random.choice([1, -1])
|
self.start_side = None
|
||||||
|
|
||||||
self.prev_side = self.start_side
|
|
||||||
self.timer = 0
|
self.timer = 0
|
||||||
|
|
||||||
def custom_render_callback(viewport, context):
|
def custom_render_callback(viewport, context):
|
||||||
@ -37,6 +36,10 @@ class AirHockeyTournament(AirHockeyDouble):
|
|||||||
self.hit_range = np.array([[-0.7, -0.2], [-hit_width, hit_width]]) # Table Frame
|
self.hit_range = np.array([[-0.7, -0.2], [-hit_width, hit_width]]) # Table Frame
|
||||||
|
|
||||||
def setup(self, obs):
|
def setup(self, obs):
|
||||||
|
if self.start_side == None:
|
||||||
|
self.start_side = np.random.choice([1, -1])
|
||||||
|
self.prev_side = self.start_side
|
||||||
|
|
||||||
# Initial position of the puck
|
# Initial position of the puck
|
||||||
puck_pos = np.random.rand(2) * (self.hit_range[:, 1] - self.hit_range[:, 0]) + self.hit_range[:, 0]
|
puck_pos = np.random.rand(2) * (self.hit_range[:, 1] - self.hit_range[:, 0]) + self.hit_range[:, 0]
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user