mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-25 03:29:51 +01:00
feat: streaks in guesser
This commit is contained in:
1 parent
fdc0f34e08
commit
80dfc59017
3 files changed
+6
-1
No files matched your search
@@ -917,7 +917,7 @@
|
|||||||
"next": "Next",
|
"next": "Next",
|
||||||
"no_results": "No results"
|
"no_results": "No results"
|
||||||
},
|
},
|
||||||
"stats": "{correct} / {total} guessed correctly"
|
"stats": "{correct} / {total} correct, {streak} streak"
|
||||||
},
|
},
|
||||||
|
|
||||||
"tankopedia": {
|
"tankopedia": {
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ export function Guesser() {
|
|||||||
const guessState = Guess.use((state) => state.guessState);
|
const guessState = Guess.use((state) => state.guessState);
|
||||||
const correctGuesses = Guess.use((state) => state.correctGuesses);
|
const correctGuesses = Guess.use((state) => state.correctGuesses);
|
||||||
const totalGuesses = Guess.use((state) => state.totalGuesses);
|
const totalGuesses = Guess.use((state) => state.totalGuesses);
|
||||||
|
const streak = Guess.use((state) => state.streak);
|
||||||
const { strings, unwrap } = useLocale();
|
const { strings, unwrap } = useLocale();
|
||||||
const input = useRef<HTMLInputElement>(null);
|
const input = useRef<HTMLInputElement>(null);
|
||||||
const [searching, setSearching] = useState(false);
|
const [searching, setSearching] = useState(false);
|
||||||
@@ -150,6 +151,7 @@ export function Guesser() {
|
|||||||
{literals(strings.website.tools.guess.stats, {
|
{literals(strings.website.tools.guess.stats, {
|
||||||
correct: correctGuesses,
|
correct: correctGuesses,
|
||||||
total: totalGuesses,
|
total: totalGuesses,
|
||||||
|
streak: streak,
|
||||||
})}
|
})}
|
||||||
</Text>
|
</Text>
|
||||||
</Flex>
|
</Flex>
|
||||||
@@ -186,6 +188,7 @@ export function Guesser() {
|
|||||||
: GuessState.Incorrect;
|
: GuessState.Incorrect;
|
||||||
draft.totalGuesses++;
|
draft.totalGuesses++;
|
||||||
draft.correctGuesses += correct ? 1 : 0;
|
draft.correctGuesses += correct ? 1 : 0;
|
||||||
|
draft.streak = correct ? draft.streak + 1 : 0;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
const id = Number(ids[Math.floor(Math.random() * ids.length)]);
|
const id = Number(ids[Math.floor(Math.random() * ids.length)]);
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export interface Guess {
|
|||||||
guessState: GuessState;
|
guessState: GuessState;
|
||||||
totalGuesses: number;
|
totalGuesses: number;
|
||||||
correctGuesses: number;
|
correctGuesses: number;
|
||||||
|
streak: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const Guess = new Varuna<Guess, TankDefinition>((tank) => ({
|
export const Guess = new Varuna<Guess, TankDefinition>((tank) => ({
|
||||||
@@ -19,4 +20,5 @@ export const Guess = new Varuna<Guess, TankDefinition>((tank) => ({
|
|||||||
guessState: GuessState.NotGuessed,
|
guessState: GuessState.NotGuessed,
|
||||||
totalGuesses: 0,
|
totalGuesses: 0,
|
||||||
correctGuesses: 0,
|
correctGuesses: 0,
|
||||||
|
streak: 0,
|
||||||
}));
|
}));
|
||||||
Reference in new issue
Block a user