import { useState, useEffect, useRef } from 'react'; import { Check, X, RefreshCw } from 'lucide-react'; export default function QuoteGuessingGame() { const [quotes, setQuotes] = useState([ { text: "Edukacja to fundament nowoczesnego społeczeństwa. Musimy inwestować w szkoły i nauczycieli.", author: "Trzaskowski" }, { text: "Warszawa musi być miastem dla wszystkich, niezależnie od poglądów politycznych, wyznania czy orientacji.", author: "Trzaskowski" }, { text: "Samorządy są fundamentem demokracji. To w nich obywatele mają największy wpływ na swoje otoczenie.", author: "Trzaskowski" }, { text: "Musimy chronić planetę dla przyszłych pokoleń. Zmiany klimatyczne to jedno z największych wyzwań naszych czasów.", author: "Trzaskowski" }, { text: "Polska zasługuje na miejsce w sercu Europy. Nasza przyszłość jest związana z wartościami europejskimi.", author: "Trzaskowski" }, { text: "Wolne media są fundamentem demokracji. Bez nich nie ma kontroli władzy.", author: "Trzaskowski" }, { text: "Śmierć jednego człowieka to tragedia. Śmierć milionów to statystyka.", author: "Stalin" }, { text: "Idee są potężniejsze niż broń. Nie pozwalamy naszym wrogom mieć broni, dlaczego mielibyśmy pozwolić im mieć idee?", author: "Stalin" }, { text: "Kiedy umiera jeden człowiek, to tragedia. Kiedy umierają miliony, to statystyka.", author: "Stalin" }, { text: "Edukacja jest bronią, której efekt zależy od tego, kto ją trzyma w swoich rękach i kogo nią uderza.", author: "Stalin" }, { text: "Nie można rządzić bez stali, czołgów i broni.", author: "Stalin" }, { text: "Wdzięczność to choroba psów.", author: "Stalin" } ]); const [currentQuoteIndex, setCurrentQuoteIndex] = useState(0); const [shuffledQuotes, setShuffledQuotes] = useState([]); const [score, setScore] = useState(0); const [showAnswer, setShowAnswer] = useState(false); const [selectedAuthor, setSelectedAuthor] = useState(null); const [gameOver, setGameOver] = useState(false); // Shuffle quotes at the beginning useEffect(() => { const shuffled = [...quotes].sort(() => Math.random() - 0.5); setShuffledQuotes(shuffled); }, []); const handleGuess = (author) => { setSelectedAuthor(author); setShowAnswer(true); if (author === shuffledQuotes[currentQuoteIndex].author) { setScore(score + 1); } setTimeout(() => { if (currentQuoteIndex < shuffledQuotes.length - 1) { setCurrentQuoteIndex(currentQuoteIndex + 1); setShowAnswer(false); setSelectedAuthor(null); } else { setGameOver(true); } }, 1500); }; const resetGame = () => { const shuffled = [...quotes].sort(() => Math.random() - 0.5); setShuffledQuotes(shuffled); setCurrentQuoteIndex(0); setScore(0); setShowAnswer(false); setSelectedAuthor(null); setGameOver(false); }; if (shuffledQuotes.length === 0) { return
Ładowanie...
; } return (

Kto to powiedział?

Zgadnij, czy autorem cytatu jest Stalin czy Trzaskowski

{!gameOver ? (
Wynik: {score}/{shuffledQuotes.length}
Pytanie {currentQuoteIndex + 1} z {shuffledQuotes.length}
"{shuffledQuotes[currentQuoteIndex].text}"
{showAnswer && (
{selectedAuthor === shuffledQuotes[currentQuoteIndex].author ? : }
)}
{showAnswer && (

Prawidłowa odpowiedź: {shuffledQuotes[currentQuoteIndex].author}

)}
) : (

Koniec gry!

Twój wynik: {score} z {shuffledQuotes.length}

{score === shuffledQuotes.length ? (

Doskonale! Wszystkie odpowiedzi poprawne!

) : score >= shuffledQuotes.length * 0.7 ? (

Bardzo dobrze! Większość odpowiedzi poprawna.

) : (

Warto spróbować jeszcze raz!

)}
)}

Ta gra ma charakter edukacyjny i ma na celu pokazanie kontrastu między wypowiedziami tych dwóch postaci.

); }