Skip to content

Commit 8689ca7

Browse files
authored
Make sure the game ends if either team guesses correctly (#263)
* make sure the game ends if either team guesses * CR
1 parent 4c2ef7a commit 8689ca7

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

kaggle_environments/envs/llm_20_questions/llm_20_questions.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,15 +167,17 @@ def interpreter(state, env):
167167
step = state[0].observation.step
168168

169169
end_early = (active1 and active1.status) in (TIMEOUT, ERROR) or (active2 and active2.status in (TIMEOUT, ERROR))
170-
either_guessed = False
170+
one_guessed = False
171+
two_guessed = False
171172

172173
if active1 is not None:
173174
guessed = False
174175
if active1.observation.role == GUESSER:
175176
guessed = guesser_action(active1, inactive1, step)
176-
either_guessed = guessed
177+
one_guessed = guessed
177178
else:
178179
answerer_action(active1, inactive1)
180+
179181
if active1.status in (TIMEOUT, ERROR):
180182
end_game(active1, inactive1, 0, active1.status, DONE)
181183
elif end_early:
@@ -187,16 +189,23 @@ def interpreter(state, env):
187189
guessed = False
188190
if active2.observation.role == GUESSER:
189191
guessed = guesser_action(active2, inactive2, step)
190-
either_guessed = either_guessed or guessed
192+
two_guessed = guessed
191193
else:
192194
answerer_action(active2, inactive2)
195+
193196
if active2.status in (TIMEOUT, ERROR):
194197
end_game(active2, inactive2, 0, active2.status, DONE)
195198
elif end_early:
196199
end_game(active2, inactive2, 0, DONE, DONE)
197200
else:
198201
increment_turn(active2, inactive2, step, guessed)
199202

203+
# make sure to end the game if only one team guessed correctly this round
204+
if one_guessed and not two_guessed:
205+
end_game(active2, inactive2, 0, DONE, DONE)
206+
elif two_guessed and not one_guessed:
207+
end_game(active1, inactive1, 0, DONE, DONE)
208+
200209
return state
201210

202211

0 commit comments

Comments
 (0)