Yazan admin / Kasım 7, 2026 Çarpan ve Kat Soruları – 20 Soru 🔢 Sayılar Teorisi Quiz 15 soru ile bilginizi test edin! 0 Doğru 0 Yanlış 0 Toplam 0/20 Tebrikler! Harika bir performans sergiledينiz! 1️⃣ 24 sayısının çarpanlarını bulalım:• 24 ÷ 1 = 24 ✓ (1 ve 24 çarpandır)• 24 ÷ 2 = 12 ✓ (2 ve 12 çarpandır)• 24 ÷ 3 = 8 ✓ (3 ve 8 çarpandır)• 24 ÷ 4 = 6 ✓ (4 ve 6 çarpandır)2️⃣ Tüm çarpanlar: 1, 2, 3, 4, 6, 8, 12, 243️⃣ Çarpan sayısı: 8 tane✅ Cevap: 8" }, { id: 2, type: "Çarpan Bulma", question: "36 sayısının doğal sayı çarpanlarının toplamı kaçtır? (Sadece sayı yazın)", answer: [91], solution: "📝 ÇÖZÜM:1️⃣ 36 sayısının çarpanlarını bulalım:• 36 ÷ 1 = 36 ✓ (1 ve 36 çarpandır)• 36 ÷ 2 = 18 ✓ (2 ve 18 çarpandır)• 36 ÷ 3 = 12 ✓ (3 ve 12 çarpandır)• 36 ÷ 4 = 9 ✓ (4 ve 9 çarpandır)• 36 ÷ 6 = 6 ✓ (6 çarpandır)2️⃣ Tüm çarpanlar: 1, 2, 3, 4, 6, 9, 12, 18, 363️⃣ Toplamı hesaplayalım:1 + 2 + 3 + 4 + 6 + 9 + 12 + 18 + 36 = 91✅ Cevap: 91" }, // Çarpan Dizisi (2 soru) { id: 3, type: "Çarpan Dizisi", question: "1-A-3-B-6-C-12-D - Bir sayının doğal sayı çarpanları küçükten büyüğe doğru sıralanmış olarak verilmiştir. Buna göre A+B+C+D işleminin sonucu kaçtır? (Sadece sayı yazın)", answer: [38], solution: "📝 ÇÖZÜM:1️⃣ Verilen dizi: 1-A-3-B-6-C-12-D2️⃣ Bu sayının ne olduğunu bulalım:• 1, 3, 6, 12 çarpanları var• 12'nin katları olan sayıları kontrol edelim• 24 sayısının çarpanlarını bulalım: 1, 2, 3, 4, 6, 8, 12, 243️⃣ Bu tam olarak soruda verilen sırayla eşleşiyor! ✅Diziye yerleştirelim:1-A-3-B-6-C-12-D1-2-3-4-6-8-12-244️⃣ Değerleri bulalım:• A = 2• B = 4• C = 8• D = 245️⃣ Toplam: A + B + C + D = 2 + 4 + 8 + 24 = 38✅ Cevap: 38" }, { id: 4, type: "Çarpan Dizisi", question: "1-2-A-5-B-20 - Bir sayının doğal sayı çarpanları küçükten büyüğe doğru sıralanmış olarak verilmiştir. Buna göre A+B toplamı kaçtır? (Sadece sayı yazın)", answer: [14], solution: "📝 ÇÖZÜM:1️⃣ Verilen dizi: 1-2-A-5-B-202️⃣ Bu sayının ne olduğunu bulalım:• 1, 2, 5, 20 çarpanları var• 20 sayısının çarpanlarını bulalım: 1, 2, 4, 5, 10, 203️⃣ Diziye yerleştirelim:1-2-A-5-B-201-2-4-5-10-204️⃣ Değerleri bulalım:• A = 4• B = 105️⃣ Toplam: A + B = 4 + 10 = 14✅ Cevap: 14" }, // EBOB (2 soru) { id: 5, type: "EBOB", question: "48 ve 72 sayılarının en büyük ortak böleni (EBOB) kaçtır? (Sadece sayı yazın)", answer: [24], solution: "📝 ÇÖZÜM:1️⃣ Asal çarpanlarına ayıralım:• 48 = 2⁴ × 3¹ = 16 × 3• 72 = 2³ × 3² = 8 × 92️⃣ EBOB için ortak asal çarpanların en küçük kuvvetlerini alalım:• 2'nin kuvveti: min(4,3) = 3 → 2³• 3'ün kuvveti: min(1,2) = 1 → 3¹3️⃣ EBOB hesaplayalım:EBOB(48,72) = 2³ × 3¹ = 8 × 3 = 244️⃣ Kontrol edelim:• 48 ÷ 24 = 2 ✓• 72 ÷ 24 = 3 ✓✅ Cevap: 24" }, { id: 6, type: "EBOB", question: "Kerem'in 60 adet kırmızı ve 80 adet mavi topu bulunmaktadır. Bu topları eşit sayıda ve her renkten aynı ve eşit sayıda olacak şekilde kutulara yerleştirilecektir. Buna göre en az kaç kutu kullanmıştır? (Sadece sayı yazın)", answer: [7], solution: "📝 ÇÖZÜM:1️⃣ Problem analizi:• 60 kırmızı top• 80 mavi top• Her kutuda eşit sayıda top olacak• Her kutuda her renkten aynı ve eşit sayıda top olacak• En az kaç kutu kullanılır?2️⃣ EBOB(60,80) bulalım:• 60 = 2² × 3 × 5• 80 = 2⁴ × 5• EBOB(60,80) = 2² × 5 = 203️⃣ Her kutuda en fazla 20'şer top olabilir:• Her kutuda 20 kırmızı top• Her kutuda 20 mavi top• Toplam 40 top/kutu4️⃣ Kutu sayısını hesaplayalım:• Kırmızı toplar için: 60 ÷ 20 = 3 kutu• Mavi toplar için: 80 ÷ 20 = 4 kutu• Toplam kutu sayısı: 3 + 4 = 7 kutu5️⃣ Kontrol edelim:• 7 kutu × 20 top/kutu = 140 top ✓• 60 + 80 = 140 top ✓✅ Cevap: 7 kutu" }, // EKOK (2 soru) { id: 7, type: "EKOK", question: "18 ve 24 sayılarının en küçük ortak katı (EKOK) kaçtır? (Sadece sayı yazın)", answer: [72], solution: "📝 ÇÖZÜM:1️⃣ Asal çarpanlarına ayıralım:• 18 = 2¹ × 3²• 24 = 2³ × 3¹2️⃣ EKOK için tüm asal çarpanların en büyük kuvvetlerini alalım:• 2'nin kuvveti: max(1,3) = 3 → 2³• 3'ün kuvveti: max(2,1) = 2 → 3²3️⃣ EKOK hesaplayalım:EKOK(18,24) = 2³ × 3² = 8 × 9 = 724️⃣ Kontrol edelim:• 72 ÷ 18 = 4 ✓• 72 ÷ 24 = 3 ✓5️⃣ Alternatif kontrol (EBOB × EKOK = a × b):• EBOB(18,24) = 6• 6 × 72 = 432• 18 × 24 = 432 ✓✅ Cevap: 72" }, { id: 8, type: "EKOK", question: "Bir metro istasyonundan saat 08.00'de birlikte hareket eden iki metro hattından biri her 15 dakikada, diğeri her 25 dakikada bir bu istasyona gelmektedir. Kaç dakika sonra tekrar aynı anda bu istasyondan hareket ederler? (Sadece sayı yazın)", answer: [75], solution: "📝 ÇÖZÜM:1️⃣ Problem analizi:• 1. metro: her 15 dakikada gelir• 2. metro: her 25 dakikada gelir• Aynı anda hareket etmeleri için EKOK(15,25) bulmalıyız2️⃣ 15'in katlarını yazalım:15, 30, 45, 60, 75, 90, 105, ...3️⃣ 25'in katlarını yazalım:25, 50, 75, 100, 125, ...4️⃣ Ortak katları bulalım:Her iki listede de bulunan sayılar: 75, 150, 225, ...5️⃣ En küçük ortak kat:EKOK(15,25) = 756️⃣ Kontrol edelim:• 75 ÷ 15 = 5 ✓• 75 ÷ 25 = 3 ✓✅ Cevap: 75 dakika" }, // Asal Sayılar (2 soru) { id: 9, type: "Asal Sayılar", question: "50 ile 70 arasında (50 ve 70 dahil değil) kaç tane asal sayı vardır? (Sadece sayı yazın)", answer: [4], solution: "📝 ÇÖZÜM:1️⃣ 50 ile 70 arasındaki sayıları kontrol edelim (50 ve 70 hariç):51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 692️⃣ Her sayının asal olup olmadığını kontrol edelim:• 51 = 3 × 17 (asal değil)• 52 = 4 × 13 (asal değil)• 53: sadece 1 ve 53'e bölünür ✓ (asal)• 54 = 2 × 27 (asal değil)• 55 = 5 × 11 (asal değil)• 56 = 8 × 7 (asal değil)• 57 = 3 × 19 (asal değil)• 58 = 2 × 29 (asal değil)• 59: sadece 1 ve 59'a bölünür ✓ (asal)• 60 = 4 × 15 (asal değil)• 61: sadece 1 ve 61'e bölünür ✓ (asal)• 62 = 2 × 31 (asal değil)• 63 = 9 × 7 (asal değil)• 64 = 8 × 8 (asal değil)• 65 = 5 × 13 (asal değil)• 66 = 6 × 11 (asal değil)• 67: sadece 1 ve 67'ye bölünür ✓ (asal)• 68 = 4 × 17 (asal değil)• 69 = 3 × 23 (asal değil)3️⃣ Asal sayılar: 53, 59, 61, 67✅ Cevap: 4 tane" }, { id: 10, type: "Asal Sayılar", question: "İlk 10 asal sayının toplamı kaçtır? (Sadece sayı yazın)", answer: [129], solution: "📝 ÇÖZÜM:1️⃣ İlk 10 asal sayıyı bulalım:• 1. asal sayı: 2• 2. asal sayı: 3• 3. asal sayı: 5• 4. asal sayı: 7• 5. asal sayı: 11• 6. asal sayı: 13• 7. asal sayı: 17• 8. asal sayı: 19• 9. asal sayı: 23• 10. asal sayı: 292️⃣ Toplamlarını hesaplayalım:2 + 3 + 5 + 7 + 11 + 13 + 17 + 19 + 23 + 293️⃣ Adım adım toplama:• 2 + 3 = 5• 5 + 5 = 10• 10 + 7 = 17• 17 + 11 = 28• 28 + 13 = 41• 41 + 17 = 58• 58 + 19 = 77• 77 + 23 = 100• 100 + 29 = 129✅ Cevap: 129" }, // Asal Çarpanlar (3 soru) { id: 11, type: "Asal Çarpanlar", question: "180 sayısının asal çarpanlarının toplamı kaçtır? (Sadece sayı yazın)", answer: [10], solution: "📝 ÇÖZÜM:1️⃣ 180 sayısını asal çarpanlarına ayıralım:180 ÷ 2 = 9090 ÷ 2 = 4545 ÷ 3 = 1515 ÷ 3 = 55 ÷ 5 = 12️⃣ Asal çarpanlara ayırma:180 = 2² × 3² × 5¹3️⃣ Farklı asal çarpanları bulalım:• 2 (kuvveti 2)• 3 (kuvveti 2)• 5 (kuvveti 1)4️⃣ Asal çarpanların toplamı:2 + 3 + 5 = 10✅ Cevap: 10" }, { id: 12, type: "Asal Olmayan Çarpanlar", question: "66 sayısının asal olmayan çarpanlarının toplamı kaçtır? (Sadece sayı yazın)", answer: [128], solution: "📝 ÇÖZÜM:1️⃣ Önce 66'nın tüm çarpanlarını bulalım:66 ÷ 1 = 66 ✓ (1 ve 66 çarpandır)66 ÷ 2 = 33 ✓ (2 ve 33 çarpandır)66 ÷ 3 = 22 ✓ (3 ve 22 çarpandır)66 ÷ 6 = 11 ✓ (6 ve 11 çarpandır)2️⃣ 66'nın tüm çarpanları:1, 2, 3, 6, 11, 22, 33, 663️⃣ Hangileri asal sayı?• 1: Ne asal ne bileşik (özel durum)• 2: Asal sayı ✓• 3: Asal sayı ✓• 6: Bileşik sayı (2×3)• 11: Asal sayı ✓• 22: Bileşik sayı (2×11)• 33: Bileşik sayı (3×11)• 66: Bileşik sayı (6×11)4️⃣ Asal olmayan çarpanlar:1, 6, 22, 33, 66(1 sayısı ve tüm bileşik sayılar)5️⃣ Toplamlarını hesaplayalım:1 + 6 + 22 + 33 + 666️⃣ Adım adım toplama:• 1 + 6 = 7• 7 + 22 = 29• 29 + 33 = 62• 62 + 66 = 1287️⃣ Kontrol edelim (gruplar halinde):(1 + 66) + (6 + 22) + 33= 67 + 28 + 33= 128 ✓8️⃣ Alternatif kontrol:Tüm çarpanlar toplamı: 1+2+3+6+11+22+33+66 = 144Asal çarpanlar toplamı: 2+3+11 = 16Asal olmayan çarpanlar toplamı: 144-16 = 128 ✓✅ Cevap: 128" }, { id: 13, type: "Asal Çarpanlar", question: "Ekin içi boş olan kumbarasına 21 gün boyunca her gün 15 TL para atmıştır. 21'inci günün sonunda kumbarasında biriken paranın farklı asal çarpanları toplamı tutarınca kumbaradan para alarak kırtasiyede harcama yapmıştır. Buna göre Ekin'in kumbarasında geriye kaç TL para kalmıştır? (Sadece sayı yazın)", answer: [300], solution: "📝 ÇÖZÜM:1️⃣ Toplam biriken parayı hesaplayalım:21 gün × 15 TL/gün = 315 TL2️⃣ 315 sayısını asal çarpanlarına ayıralım:315 ÷ 3 = 105105 ÷ 3 = 3535 ÷ 5 = 77 ÷ 7 = 13️⃣ Asal çarpanlara ayırma:315 = 3² × 5¹ × 7¹4️⃣ Farklı asal çarpanları bulalım:• 3 (kuvveti 2)• 5 (kuvveti 1)• 7 (kuvveti 1)5️⃣ Farklı asal çarpanların toplamı:3 + 5 + 7 = 15 TL6️⃣ Kumbarada kalan para:315 - 15 = 300 TL✅ Cevap: 300 TL" }, // Çarpan Ağacı (2 soru) { id: 14, type: "Çarpan Ağacı", question: "Aşağıdaki çarpan ağacında A ve B yerine gelecek sayıları bulunuz. A+B toplamı kaçtır? 60 / \\ A 15 / \\ / \\ 2 2 B 5(Sadece sayı yazın)", answer: [7], solution: "📝 ÇÖZÜM:1️⃣ Çarpan ağacını analiz edelim: 60 / \\ A 15 / \\ / \\ 2 2 B 52️⃣ A değerini bulalım:• A'nın çarpanları 2 ve 2'dir• A = 2 × 2 = 43️⃣ B değerini bulalım:• 15'in çarpanları B ve 5'tir• 15 = B × 5• B = 15 ÷ 5 = 34️⃣ Kontrol edelim:• Sol dal: A = 4 = 2 × 2 ✓• Sağ dal: 15 = 3 × 5 = B × 5 ✓• Ana sayı: 60 = 4 × 15 ✓5️⃣ A + B toplamını hesaplayalım:A + B = 4 + 3 = 7✅ Cevap: 7" }, { id: 15, type: "Çarpan Ağacı", question: "Bir sayının çarpan ağacında en son yapraklar 2, 2, 3, 5, 5 şeklindedir. Bu sayı kaçtır? (Sadece sayı yazın)", answer: [300], solution: "📝 ÇÖZÜM:1️⃣ Verilen yapraklar: 2, 2, 3, 5, 52️⃣ Asal çarpanlara ayırma formunu yazalım:• 2 sayısı 2 kez var → 2²• 3 sayısı 1 kez var → 3¹• 5 sayısı 2 kez var → 5²3️⃣ Sayıyı bulalım:Sayı = 2² × 3¹ × 5²4️⃣ Hesaplayalım:• 2² = 4• 3¹ = 3• 5² = 255️⃣ Çarpımı hesaplayalım:4 × 3 × 25 = 12 × 25 = 3006️⃣ Kontrol edelim:300 ÷ 2 = 150150 ÷ 2 = 7575 ÷ 3 = 2525 ÷ 5 = 55 ÷ 5 = 1 ✓Yapraklar: 2, 2, 3, 5, 5 ✓✅ Cevap: 300" } ]; let correctCount = 0; let incorrectCount = 0; let totalAnswered = 0; // Sound generation functions function playSound(frequency, duration, type = 'sine', volume = 0.3) { try { const audioContext = new (window.AudioContext || window.webkitAudioContext)(); const oscillator = audioContext.createOscillator(); const gainNode = audioContext.createGain(); oscillator.connect(gainNode); gainNode.connect(audioContext.destination); oscillator.frequency.setValueAtTime(frequency, audioContext.currentTime); oscillator.type = type; gainNode.gain.setValueAtTime(0, audioContext.currentTime); gainNode.gain.linearRampToValueAtTime(volume, audioContext.currentTime + 0.01); gainNode.gain.exponentialRampToValueAtTime(0.001, audioContext.currentTime + duration); oscillator.start(audioContext.currentTime); oscillator.stop(audioContext.currentTime + duration); } catch (e) { // Ses çalınamıyorsa sessizce devam et } } function playClickSound() { playSound(800, 0.1, 'square', 0.2); } function playTypingSound() { playSound(400, 0.05, 'sine', 0.1); } function playCorrectSound() { // Başarı melodisi setTimeout(() => playSound(523, 0.2, 'sine', 0.3), 0); // C setTimeout(() => playSound(659, 0.2, 'sine', 0.3), 100); // E setTimeout(() => playSound(784, 0.3, 'sine', 0.3), 200); // G } function playIncorrectSound() { // "Buzzer" tarzı hata sesi efekti setTimeout(() => playSound(150, 0.3, 'sawtooth', 0.25), 0); setTimeout(() => playSound(120, 0.2, 'sawtooth', 0.2), 100); } function playSuccessSound() { // Büyük başarı melodisi setTimeout(() => playSound(523, 0.15), 0); // C setTimeout(() => playSound(659, 0.15), 150); // E setTimeout(() => playSound(784, 0.15), 300); // G setTimeout(() => playSound(1047, 0.3), 450); // C yüksek } function createBravoText(element) { const rect = element.getBoundingClientRect(); const bravoTexts = ['BRAVO!', 'SÜPER!', 'HARIKA!', 'MÜKEMMEL!', 'AFERIN!']; const colors = ['#ff6b6b', '#4ecdc4', '#45b7d1', '#feca57', '#ff9ff3']; for (let i = 0; i < 5; i++) { setTimeout(() => { const bravo = document.createElement('div'); bravo.innerHTML = bravoTexts[Math.floor(Math.random() * bravoTexts.length)]; bravo.style.position = 'fixed'; bravo.style.fontSize = '1.5rem'; bravo.style.fontWeight = 'bold'; bravo.style.color = colors[Math.floor(Math.random() * colors.length)]; bravo.style.textShadow = '2px 2px 4px rgba(0,0,0,0.3)'; bravo.style.left = (rect.left + Math.random() * rect.width) + 'px'; bravo.style.top = (rect.top + rect.height / 2) + 'px'; bravo.style.pointerEvents = 'none'; bravo.style.zIndex = '9999'; bravo.style.animation = 'bravoFloat 2.5s ease-out forwards'; document.body.appendChild(bravo); setTimeout(() => { if (bravo.parentNode) { bravo.parentNode.removeChild(bravo); } }, 2500); }, i * 150); } } function createConfetti(element) { const colors = ['#ffd700', '#ff6b6b', '#4ecdc4', '#45b7d1', '#96ceb4', '#feca57', '#ff9ff3', '#54a0ff']; const shapes = ['circle', 'square']; const rect = element.getBoundingClientRect(); for (let i = 0; i < 25; i++) { setTimeout(() => { const confetti = document.createElement('div'); confetti.className = 'confetti-particle'; const color = colors[Math.floor(Math.random() * colors.length)]; const shape = shapes[Math.floor(Math.random() * shapes.length)]; confetti.style.background = color; confetti.style.borderRadius = shape === 'circle' ? '50%' : '0%'; confetti.style.left = (rect.left + Math.random() * rect.width) + 'px'; confetti.style.top = (rect.top + rect.height / 2) + 'px'; confetti.style.animationDelay = Math.random() * 0.2 + 's'; confetti.style.transform = `rotate(${Math.random() * 360}deg)`; // Rastgele boyut const size = Math.random() * 8 + 6; confetti.style.width = size + 'px'; confetti.style.height = size + 'px'; document.body.appendChild(confetti); setTimeout(() => { if (confetti.parentNode) { confetti.parentNode.removeChild(confetti); } }, 2500); }, i * 30); } } function generateQuestions() { const container = document.getElementById('questionsContainer'); container.innerHTML = ''; questions.forEach(q => { const questionCard = document.createElement('div'); questionCard.className = 'question-card'; questionCard.innerHTML = ` ${q.id} ${q.type} ${q.question} Kontrol Et Çözümü Göster 💭 Cevabınızı yazın ve kontrol edin! 💡 İpucu: Çözümü görmek için "Çözümü Göster" butonuna tıklayın. `; container.appendChild(questionCard); }); } function checkAnswer(questionId) { const question = questions.find(q => q.id === questionId); const userInput = document.getElementById(`answer${questionId}`).value.trim(); const resultDiv = document.getElementById(`result${questionId}`); const hintDiv = document.getElementById(`hint${questionId}`); if (!userInput) { resultDiv.innerHTML = '⚠️ Lütfen bir cevap yazın!'; resultDiv.className = 'result neutral'; return; } // Parse user answer const userAnswer = userInput.split(',').map(n => parseInt(n.trim())).filter(n => !isNaN(n)).sort((a, b) => a - b); const correctAnswer = [...question.answer].sort((a, b) => a - b); // Check if answers match const isCorrect = JSON.stringify(userAnswer) === JSON.stringify(correctAnswer); if (isCorrect) { resultDiv.innerHTML = '✅ Tebrikler! Doğru cevap!'; resultDiv.className = 'result correct'; hintDiv.style.display = 'none'; // Ses ve animasyon efektleri playCorrectSound(); createBravoText(resultDiv); createConfetti(resultDiv); // Update stats if this is a new correct answer if (!resultDiv.dataset.answered) { correctCount++; totalAnswered++; resultDiv.dataset.answered = 'correct'; } } else { resultDiv.innerHTML = `❌ Yanlış cevap! Tekrar deneyin.`; resultDiv.className = 'result incorrect'; hintDiv.style.display = 'block'; // Hata sesi playIncorrectSound(); // Update stats if this is a new incorrect answer if (!resultDiv.dataset.answered) { incorrectCount++; totalAnswered++; resultDiv.dataset.answered = 'incorrect'; } } updateStats(); } function showAnswer(questionId) { const question = questions.find(q => q.id === questionId); const resultDiv = document.getElementById(`result${questionId}`); const inputField = document.getElementById(`answer${questionId}`); const hintDiv = document.getElementById(`hint${questionId}`); inputField.value = question.answer.join(', '); resultDiv.innerHTML = `💡 Doğru cevap: ${question.answer.join(', ')}`; resultDiv.className = 'result neutral'; // Show detailed solution instead of hint hintDiv.innerHTML = `🔍 Detaylı Çözüm:${question.solution}`; hintDiv.style.display = 'block'; // Don't count as answered if showing answer resultDiv.dataset.answered = 'shown'; } function checkAllAnswers() { questions.forEach(q => { const userInput = document.getElementById(`answer${q.id}`).value.trim(); if (userInput) { checkAnswer(q.id); } }); // Show final score if all questions are answered if (totalAnswered === 15) { showFinalScore(); } } function showAllAnswers() { questions.forEach(q => { showAnswer(q.id); }); } function resetAllAnswers() { questions.forEach(q => { document.getElementById(`answer${q.id}`).value = ''; const resultDiv = document.getElementById(`result${q.id}`); resultDiv.innerHTML = '💭 Cevabınızı yazın ve kontrol edin!'; resultDiv.className = 'result neutral'; resultDiv.dataset.answered = ''; document.getElementById(`hint${q.id}`).style.display = 'none'; }); correctCount = 0; incorrectCount = 0; totalAnswered = 0; updateStats(); document.getElementById('finalScore').classList.remove('show'); } function updateStats() { document.getElementById('correctCount').textContent = correctCount; document.getElementById('incorrectCount').textContent = incorrectCount; document.getElementById('totalAnswered').textContent = totalAnswered; const progress = (totalAnswered / 15) * 100; document.getElementById('progressFill').style.width = progress + '%'; } function createBigConfetti() { const colors = ['#ffd700', '#ff6b6b', '#4ecdc4', '#45b7d1', '#96ceb4', '#feca57', '#ff9ff3', '#54a0ff']; for (let i = 0; i < 50; i++) { setTimeout(() => { const confetti = document.createElement('div'); confetti.className = 'confetti-particle'; const color = colors[Math.floor(Math.random() * colors.length)]; confetti.style.background = color; confetti.style.borderRadius = Math.random() > 0.5 ? '50%' : '0%'; confetti.style.left = Math.random() * window.innerWidth + 'px'; confetti.style.top = '0px'; confetti.style.animationDelay = Math.random() * 0.5 + 's'; confetti.style.transform = `rotate(${Math.random() * 360}deg)`; // Daha büyük boyutlar const size = Math.random() * 12 + 8; confetti.style.width = size + 'px'; confetti.style.height = size + 'px'; // Daha uzun animasyon confetti.style.animation = 'bigConfetti 3s ease-out forwards'; document.body.appendChild(confetti); setTimeout(() => { if (confetti.parentNode) { confetti.parentNode.removeChild(confetti); } }, 3000); }, i * 20); } } function showFinalScore() { const finalScoreDiv = document.getElementById('finalScore'); const scoreCircle = document.getElementById('scoreCircle'); const scoreMessage = document.getElementById('scoreMessage'); const scoreDescription = document.getElementById('scoreDescription'); scoreCircle.textContent = `${correctCount}/15`; const percentage = (correctCount / 15) * 100; if (percentage >= 90) { scoreMessage.textContent = 'Mükemmel! 🌟'; scoreDescription.textContent = 'Çarpan ve katlar konusunda uzman oldunuz!'; scoreCircle.style.background = 'linear-gradient(135deg, #48bb78 0%, #38a169 100%)'; playSuccessSound(); createBigConfetti(); } else if (percentage >= 70) { scoreMessage.textContent = 'Harika! 🎉'; scoreDescription.textContent = 'Çok iyi bir performans sergiledينiz!'; scoreCircle.style.background = 'linear-gradient(135deg, #4299e1 0%, #3182ce 100%)'; playCorrectSound(); createConfetti(scoreCircle); } else if (percentage >= 50) { scoreMessage.textContent = 'İyi! 👍'; scoreDescription.textContent = 'Daha fazla pratik yaparak gelişebilirsiniz!'; scoreCircle.style.background = 'linear-gradient(135deg, #f6ad55 0%, #ed8936 100%)'; playClickSound(); } else { scoreMessage.textContent = 'Tekrar Deneyin! 💪'; scoreDescription.textContent = 'Çarpan ve katlar konusunu tekrar çalışmanızı öneririz.'; scoreCircle.style.background = 'linear-gradient(135deg, #f56565 0%, #e53e3e 100%)'; playIncorrectSound(); } finalScoreDiv.classList.add('show'); } // Initialize the page window.onload = function() { generateQuestions(); }; // Add Enter key support for inputs document.addEventListener('keydown', function(e) { if (e.key === 'Enter' && e.target.tagName === 'INPUT') { const questionId = parseInt(e.target.id.replace('answer', '')); checkAnswer(questionId); } }); Önceki Önceki yazı Sonraki Sonraki yazı Yorum bırakın Yanıtı iptal etE-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdirBuraya yazın.. İsim* E-Posta* Web sitesi Daha sonraki yorumlarımda kullanılması için adım, e-posta adresim ve site adresim bu tarayıcıya kaydedilsin.