1
0

fix: highestcount doesnt reveal when guessed correctly

This commit is contained in:
2026-06-04 20:36:40 +08:00
parent f923daec38
commit 59cefb9773
+11 -8
View File
@@ -31,9 +31,8 @@ class FirstGuessGui(FirstGuess):
def calculate_score(self, item: ItemShare) -> int:
result = super().calculate_score(item)
elapsed = self.game.elapsedSeconds
if result:
self.game.guessed.emit(item.user.username, elapsed)
self.game.guessed.emit(item.user.username, self.game.elapsedSeconds)
self.game.end()
return result
@@ -46,11 +45,11 @@ class FirstThenHighestGui(FirstThenHighest):
def calculate_score(self, item: ItemShare) -> int:
previous_max = self.highest.max
result = super().calculate_score(item)
elapsed = self.game.elapsedSeconds
if result:
self.game.guessed.emit(item.user.username, elapsed)
self.game.reveal()
self.game.guessed.emit(item.user.username, self.game.elapsedSeconds)
if previous_max is not self.highest.max:
self.game.highest.emit(item.user.username, elapsed)
self.game.highest.emit(item.user.username, item.count)
return result
@@ -89,14 +88,18 @@ class GameService(QObject):
self.m_game = Game(session, listening_channels=[ChitChatChannelType.ChannelTeam])
self.m_started_at: datetime | None = None
self.m_revealed_at: datetime | None = None
self.m_revealed: bool = False
@Slot(int, int)
def start(self, item_id: int, mode: int):
mode = GameScoring(mode)
self.m_game.start(item_id, mode.as_scoring(self))
self.m_started_at = datetime.now()
self.m_revealed_at = None
self.m_revealed = False
self.stateChanged.emit()
def reveal(self):
self.m_revealed = True
self.stateChanged.emit()
@Slot()
@@ -110,7 +113,7 @@ class GameService(QObject):
case GameIdle():
return GameState.Ended
case GameOngoing():
if self.m_revealed_at is None:
if not self.m_revealed:
return GameState.Hidden
return GameState.Revealed
case _: