• 27-04-2026, 15:21:17
    #1
    <!DOCTYPE html>
    <html lang="tr">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>10 Parmak Klavye Şampiyonu - Kategorili</title>
        <style>
            :root {
                --primary-color: #4CAF50;
                --bg-color: #2c3e50;
                --text-color: #ecf0f1;
                --card-bg: #34495e;
                --border-color: #7f8c8d;
            }
    
            body {
                font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
                background-color: var(--bg-color);
                color: var(--text-color);
                display: flex;
                justify-content: center;
                align-items: center;
                height: 100vh;
                margin: 0;
                overflow: hidden;
            }
    
            .game-container {
                background-color: var(--card-bg);
                padding: 40px;
                border-radius: 15px;
                box-shadow: 0 10px 30px rgba(0,0,0,0.5);
                text-align: center;
                width: 90%;
                max-width: 600px;
            }
    
            h1 {
                margin-top: 0;
                color: var(--primary-color);
                font-size: 2.5em;
                text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
            }
    
            .stats-board {
                display: flex;
                justify-content: space-between;
                background-color: rgba(0,0,0,0.2);
                padding: 15px 20px;
                border-radius: 10px;
                margin-bottom: 25px;
                font-size: 1.2em;
                font-weight: bold;
            }
    
            .word-display {
                font-size: 2.5em;
                letter-spacing: 2px;
                margin: 20px 0;
                min-height: 70px;
                color: #fff;
                user-select: none;
                display: flex;
                align-items: center;
                justify-content: center;
            }
    
            .dropdown-container {
                margin-bottom: 20px;
            }
    
            select {
                width: 100%;
                padding: 15px;
                font-size: 1.2em;
                border: 2px solid var(--border-color);
                border-radius: 8px;
                background-color: #ecf0f1;
                color: #2c3e50;
                outline: none;
                cursor: pointer;
                transition: border-color 0.3s;
            }
    
            select:focus {
                border-color: var(--primary-color);
            }
    
            .input-area {
                width: 100%;
                padding: 15px;
                font-size: 1.5em;
                border: 3px solid transparent;
                border-radius: 10px;
                background-color: #ecf0f1;
                color: #2c3e50;
                text-align: center;
                outline: none;
                transition: all 0.3s;
                box-sizing: border-box;
            }
    
            .input-area:focus {
                border-color: var(--primary-color);
                box-shadow: 0 0 15px rgba(76, 175, 80, 0.5);
            }
    
            .input-area.error {
                border-color: #e74c3c;
                background-color: #fadbd8;
            }
    
            .btn {
                background-color: var(--primary-color);
                color: white;
                border: none;
                padding: 15px 30px;
                font-size: 1.2em;
                border-radius: 8px;
                cursor: pointer;
                margin-top: 25px;
                transition: background-color 0.3s, transform 0.1s;
                font-weight: bold;
                width: 100%;
            }
    
            .btn:hover {
                background-color: #45a049;
            }
    
            .btn:active {
                transform: scale(0.95);
            }
    
            .hidden {
                display: none !important;
            }
    
            #game-over {
                background-color: rgba(0,0,0,0.8);
                position: fixed;
                top: 0; left: 0; width: 100%; height: 100%;
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                z-index: 10;
            }
    
            #game-over h2 {
                font-size: 3em;
                color: var(--primary-color);
                margin-bottom: 10px;
            }
    
            .result-stats {
                font-size: 1.5em;
                margin: 10px 0;
            }
        </style>
    </head>
    <body>
    
        <div class="game-container">
            <h1>Klavye Şampiyonu</h1>
            
            <div class="stats-board">
                <div>Süre: <span id="time">60</span>s</div>
                <div>Puan: <span id="score">0</span></div>
            </div>
    
            <div class="dropdown-container" id="menu-container">
                <select id="category-select">
                    <option value="mixed">Karışık Kelimeler</option>
                    <option value="cities">Şehir ve İlçe İsimleri</option>
                    <option value="medical">Tıp Terimleri</option>
                    <option value="history">Tarih Terimleri</option>
                    <option value="countries">Ülke İsimleri</option>
                    <option value="names">İnsan İsimleri</option>
                    <option value="animals">Hayvan İsimleri</option>
                </select>
            </div>
    
            <div class="word-display hidden" id="word"></div>
            
            <input type="text" id="input-field" class="input-area hidden" placeholder="Kelimeleri buraya yaz..." autocomplete="off">
            
            <button id="start-btn" class="btn">Oyuna Başla</button>
        </div>
    
        <div id="game-over" class="hidden">
            <h2>Süre Doldu!</h2>
            <div class="result-stats">Toplam Puan: <strong id="final-score">0</strong></div>
            <div class="result-stats">Yazma Hızı: <strong id="final-wpm">0</strong> WPM</div>
            <div style="font-size: 0.9em; margin-top:10px; color:#bdc3c7;">(WPM: Dakikadaki Kelime Sayısı)</div>
            <button id="restart-btn" class="btn" style="width: auto; margin-top: 30px;">Ana Menüye Dön</button>
        </div>
    
        <script>
            // Güncellenmiş Kelime Havuzları
            const wordPools = {
                mixed: [
                    "bilgisayar", "kitap", "güneş", "pencere", "çalışmak", "başarı",
                    "zaman", "teknoloji", "gökyüzü", "arkadaş", "kahve", "mutluluk",
                    "deniz", "orman", "yıldız", "telefon", "klavye", "sandalye", "okul"
                ],
                cities: [
                    "istanbul", "ankara", "izmir", "bursa", "antalya", "kadıköy",
                    "çankaya", "konak", "nilüfer", "alanya", "trabzon", "bodrum",
                    "marmaris", "gaziantep", "eskişehir", "adana", "mersin", "kayseri"
                ],
                medical: [
                    "kardiyoloji", "nöroloji", "ortopedi", "enfeksiyon", "sendrom",
                    "metabolizma", "anatomi", "fizyoloji", "semptom", "teşhis",
                    "tedavi", "antibiyotik", "hipertansiyon", "diyabet", "ameliyat"
                ],
                history: [
                    "imparatorluk", "cumhuriyet", "antlaşma", "sadrazam", "padişah",
                    "devrim", "inkılap", "medeniyet", "rönesans", "reform", "savaş",
                    "barış", "fetih", "hanedan", "mütareke", "kuşatma", "kurultay"
                ],
                countries: [
                    "türkiye", "almanya", "fransa", "italya", "ispanya", "ingiltere",
                    "japonya", "kanada", "brezilya", "arjantin", "meksika", "mısır",
                    "hindistan", "avustralya", "portekiz", "hollanda", "norveç"
                ],
                names: [
                    "ahmet", "mehmet", "ayşe", "fatma", "mustafa", "zeynep", "elif",
                    "ali", "veli", "kemal", "hasan", "hüseyin", "burak", "can", "cem",
                    "deniz", "derya", "gökhan", "hakan", "murat", "özge", "selin"
                ],
                animals: [
                    "kedi", "köpek", "aslan", "kaplan", "fil", "zürafa", "maymun",
                    "tavşan", "kartal", "şahin", "penguen", "kanguru", "timsah",
                    "yılan", "ayı", "kurt", "tilki", "geyik", "yunus", "balina"
                ]
            };
    
            // DOM Elementleri
            const menuContainer = document.getElementById('menu-container');
            const categorySelect = document.getElementById('category-select');
            const wordDisplay = document.getElementById('word');
            const inputField = document.getElementById('input-field');
            const timeDisplay = document.getElementById('time');
            const scoreDisplay = document.getElementById('score');
            const startBtn = document.getElementById('start-btn');
            const gameOverScreen = document.getElementById('game-over');
            const finalScoreDisplay = document.getElementById('final-score');
            const finalWpmDisplay = document.getElementById('final-wpm');
            const restartBtn = document.getElementById('restart-btn');
    
            // Oyun Değişkenleri
            let time = 60;
            let score = 0;
            let totalTypedChars = 0;
            let isPlaying = false;
            let timeInterval;
            let currentWord = "";
            let activeWords = [];
    
            // Kelime Getirici
            function getRandomWord() {
                const randomIndex = Math.floor(Math.random() * activeWords.length);
                return activeWords[randomIndex];
            }
    
            // Oyunu Başlat
            function initGame() {
                const selectedCategory = categorySelect.value;
                activeWords = wordPools[selectedCategory];
    
                time = 60;
                score = 0;
                totalTypedChars = 0;
                isPlaying = true;
    
                timeDisplay.innerText = time;
                scoreDisplay.innerText = score;
                
                menuContainer.classList.add('hidden');
                startBtn.classList.add('hidden');
                gameOverScreen.classList.add('hidden');
                
                wordDisplay.classList.remove('hidden');
                inputField.classList.remove('hidden');
                
                inputField.disabled = false;
                inputField.value = '';
                inputField.focus();
    
                nextWord();
                
                clearInterval(timeInterval);
                timeInterval = setInterval(updateTime, 1000);
            }
    
            // Yeni Kelime Yükle
            function nextWord() {
                currentWord = getRandomWord();
                wordDisplay.innerText = currentWord;
            }
    
            // Zamanı Güncelle
            function updateTime() {
                time--;
                timeDisplay.innerText = time;
    
                if (time === 0) {
                    endGame();
                }
            }
    
            // Oyunu Bitir
            function endGame() {
                clearInterval(timeInterval);
                isPlaying = false;
                inputField.disabled = true;
                inputField.value = '';
                
                const wpm = Math.round(totalTypedChars / 5);
    
                finalScoreDisplay.innerText = score;
                finalWpmDisplay.innerText = wpm;
                
                gameOverScreen.classList.remove('hidden');
            }
    
            // Ana Menüye Dön
            function returnToMenu() {
                gameOverScreen.classList.add('hidden');
                wordDisplay.classList.add('hidden');
                inputField.classList.add('hidden');
                
                menuContainer.classList.remove('hidden');
                startBtn.classList.remove('hidden');
                
                timeDisplay.innerText = '60';
                scoreDisplay.innerText = '0';
            }
    
            // Giriş Kontrolü
            inputField.addEventListener('input', (e) => {
                if(!isPlaying) return;
    
                const insertedText = e.target.value.toLowerCase();
    
                if (!currentWord.toLowerCase().startsWith(insertedText)) {
                    inputField.classList.add('error');
                } else {
                    inputField.classList.remove('error');
                }
    
                if (insertedText === currentWord.toLowerCase()) {
                    score += 10;
                    totalTypedChars += currentWord.length + 1;
                    scoreDisplay.innerText = score;
                    inputField.value = '';
                    nextWord();
                }
            });
    
            document.addEventListener('keypress', function (e) {
                if (e.key === 'Enter' && !isPlaying && gameOverScreen.classList.contains('hidden')) {
                    initGame();
                }
            });
    
            // Buton Dinleyicileri
            startBtn.addEventListener('click', initGame);
            restartBtn.addEventListener('click', returnToMenu);
    
        </script>
    </body>
    </html>









    Selamlar yapay zeka ile yapıldı kodları verdim 10 parmak hızınızı test edin kelimeyi yazmanız yeterli enter basmanıza gerek yok gelişitirebilir size kalmış iyi forumlar
  • 27-04-2026, 15:25:09
    #2
    abi şunları websitende bi yer açıp koy da oynayalım yav
  • 27-04-2026, 15:26:53
    #3
    Gokenim adlı üyeden alıntı: mesajı görüntüle
    abi şunları websitende bi yer açıp koy da oynayalım yav
    şuan youtube vs çok yoğunum bunları hafifletirsem bakacağım sitem varda onu da burada veremiyorum malum forum sitesi bakalım ilerleyen zamanlarda şekillenir hayırlısı
  • 27-04-2026, 15:47:10
    #4
    dakikada 130 kelime yazan ben
  • 27-04-2026, 15:49:42
    #5
    xxsemihsarac adlı üyeden alıntı: mesajı görüntüle
    dakikada 130 kelime yazan ben
    paslandık olsun o kadar lise de on parmak dersinde bende uçuyordum 2008 yılları