import React, { useState, useEffect } from 'react'; import { ArrowRight, RefreshCw, Trophy } from 'lucide-react'; export default function QuizGame() { // Databáze citátů const quotes = [ { text: "Jediná věc, která stojí mezi mnou a velikostí, jsou lidé, kteří mě neustále srovnávají s jinými lidmi.", author: "Kanye West" }, { text: "Jsem největší umělec, kterého Bůh kdy stvořil.", author: "Kanye West" }, { text: "Moje největší bolest v životě je, že nikdy neuvidím sám sebe vystupovat naživo.", author: "Kanye West" }, { text: "Jsem Bůh ve zvířecí kůži.", author: "Kanye West" }, { text: "Jsem více než člověk. Jsem Kanye.", author: "Kanye West" }, { text: "Úspěch je největší pomstou.", author: "Kanye West" }, { text: "Kdo se bojí neúspěchu, omezuje své aktivity. Neúspěch je pouze příležitostí začít znovu, tentokrát moudřeji.", author: "Adolf Hitler" }, { text: "Pokud chceš osvítit národ, dej mu akci, ne filozofii.", author: "Adolf Hitler" }, { text: "Slova budují mosty do neprozkoumaných oblastí.", author: "Adolf Hitler" }, { text: "Velké lži jsou vždy uvěřitelnější než malé lži.", author: "Adolf Hitler" }, { text: "Čím větší je lež, tím více lidí jí uvěří.", author: "Adolf Hitler" }, { text: "Humanita končí tam, kde začíná rozum.", author: "Adolf Hitler" }, { text: "Jsem génius, nejsem šílený. A mezi genialitou a šílenstvím je tenká hranice.", author: "Kanye West" }, { text: "Mám dračí energii. Moje žena má dračí energii. Jsme dračí rodina.", author: "Kanye West" }, { text: "Ti, kteří chtějí žít, nechť bojují, a ti, kteří nechtějí bojovat v tomto světě věčného boje, si nezaslouží žít.", author: "Adolf Hitler" }, { text: "Vítězství patří tomu, kdo má nejvíce vytrvalosti.", author: "Adolf Hitler" } ]; const [currentQuoteIndex, setCurrentQuoteIndex] = useState(0); const [shuffledQuotes, setShuffledQuotes] = useState([]); const [score, setScore] = useState(0); const [answered, setAnswered] = useState(false); const [selectedAnswer, setSelectedAnswer] = useState(null); const [gameOver, setGameOver] = useState(false); const [quizLength] = useState(10); // Zamíchání citátů při načtení komponenty useEffect(() => { const shuffled = [...quotes].sort(() => 0.5 - Math.random()).slice(0, quizLength); setShuffledQuotes(shuffled); }, []); const handleAnswer = (answer) => { if (answered) return; setSelectedAnswer(answer); setAnswered(true); if (answer === shuffledQuotes[currentQuoteIndex].author) { setScore(score + 1); } // Kontrola, zda je to poslední otázka if (currentQuoteIndex === quizLength - 1) { setTimeout(() => { setGameOver(true); }, 1500); } }; const nextQuestion = () => { if (currentQuoteIndex < quizLength - 1) { setCurrentQuoteIndex(currentQuoteIndex + 1); setAnswered(false); setSelectedAnswer(null); } }; const restartGame = () => { const shuffled = [...quotes].sort(() => 0.5 - Math.random()).slice(0, quizLength); setShuffledQuotes(shuffled); setCurrentQuoteIndex(0); setScore(0); setAnswered(false); setSelectedAnswer(null); setGameOver(false); }; // Pokud nejsou citáty ještě načteny, zobrazíme načítací obrazovku if (shuffledQuotes.length === 0) { return (
Načítání kvízu...
); } // Obrazovka s výsledkem if (gameOver) { return (

Konec hry!

Tvé skóre: {score} z {quizLength}

{score === quizLength && (

Perfektní skóre! Jsi expert!

)} {score >= quizLength * 0.7 && score < quizLength && (

Skvělý výsledek!

)} {score >= quizLength * 0.4 && score < quizLength * 0.7 && (

Dobrá práce!

)} {score < quizLength * 0.4 && (

Příště to bude lepší!

)}
); } const currentQuote = shuffledQuotes[currentQuoteIndex]; return (
Otázka {currentQuoteIndex + 1}/{quizLength}
Skóre: {score}

Kdo to řekl?

"{currentQuote.text}"

{answered && (

{selectedAnswer === currentQuote.author ? "Správně!" : "Špatně!" } Tento citát řekl {currentQuote.author}.

)} {answered && currentQuoteIndex < quizLength - 1 && ( )}
); }