Skip to content
This repository has been archived by the owner on Apr 18, 2024. It is now read-only.

HanabiState.copy() truncates fireworks #45

Open
ChemStud24 opened this issue Apr 17, 2022 · 2 comments
Open

HanabiState.copy() truncates fireworks #45

ChemStud24 opened this issue Apr 17, 2022 · 2 comments

Comments

@ChemStud24
Copy link

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.

@ChemStud24
Copy link
Author

This same issue is discussed and supposedly resolved in #36, but I am still experiencing it.

It seems pull request #35 has implemented a fix, but it still has not been merged with the master branch yet.

@ChemStud24
Copy link
Author

This issue has been resolved on my end, but it took a minute because I'm also using the features implemented in #40. It would be great to see both #40 and #35 merged into the master branch soon.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant