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 (
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ší!
)}"{currentQuote.text}"
{selectedAnswer === currentQuote.author ? "Správně!" : "Špatně!" } Tento citát řekl {currentQuote.author}.