HanabiState.copy() truncates fireworks
ChemStud24 opened this issue · comments
I ran this straightforward script:
from hanabi_learning_environment.pyhanabi import HanabiGame
g = HanabiGame()
s1 = g.new_initial_state()
print(s1.fireworks())
s2 = s1.copy()
print(s2.fireworks())
And I got this output:
[0, 0, 0, 0, 0]
[0, 0, 0]
This means HanabiState.copy()
is not copying the fireworks correctly. This issue presents itself in two different ways depending on the number of colors C
in the game.
If C > 3
, then HanabiState.copy()
truncates the fireworks to a length of 3.
If C <= 3
, then coping the state and calling s2.fireworks()
throws the following error:
terminate called after throwing an instance of 'std::out_of_range'
what(): vector::_M_range_check: __n (which is C) >= this->size() (which is C)
Aborted (core dumped)
Where C
is again the number of colors in the game parameters.