diff --git a/src/useGame/useGame.ts b/src/useGame/useGame.ts index 986d86d..2f8c68c 100755 --- a/src/useGame/useGame.ts +++ b/src/useGame/useGame.ts @@ -46,7 +46,7 @@ export function useGame(optionsOrCols: GameOptions | number, rows?: number, plat }, }); - const scoreManager = useScore({ gameStatus, keyLog: keyBindings.keyLog }); + const scoreManager = useScore({ gameStatus, keyLog: keyBindings.keyLog, currentScore: score }); // Wrap renderBoard to match Unified API signature const renderBoardWrapped = () => { diff --git a/src/useScore/useScore.ts b/src/useScore/useScore.ts index 674d0c3..174d6bf 100755 --- a/src/useScore/useScore.ts +++ b/src/useScore/useScore.ts @@ -5,18 +5,21 @@ import type { GameStatus, KeyLogEntry } from "../types"; export type UseScoreParams = { gameStatus: GameStatus; keyLog: KeyLogEntry[]; + currentScore: number; }; -export function useScore({ gameStatus, keyLog }: UseScoreParams) { +export function useScore({ gameStatus, keyLog, currentScore }: UseScoreParams) { const timer = useTimer(); const { timeValue, startTimer, stopTimer, resetTimer } = timer; useScoreTime({ gameStatus, timer }); + const finalScore = gameStatus === 'game-over' || gameStatus === 'game-won' ? currentScore : null; + return { timeValue, totalKeystrokes: keyLog.length, - finalScore: null, // TODO: Calculate on game-won + finalScore, startTimer, stopTimer, resetTimer,