JavaScript: európai országok quiz

10. osztály 10.évf_js JavaScript Web

Készíts egy JS quiz játékot, amely 10db európai ország fővárosát kérdezi meg, és számolja a helyes válaszokat! Az adatokat promt segítségével kérje be a program, és alert üzenetekkel írja ki az aktuális eredményt!
Az adatokat tömbben (orszagok) tároljuk. Következő lépésben a tömb elemeit a Fisher-Yates algoritmussal összekeverjük, és egy új tömbben (random_Orszagok) tároljuk. A játék során végigmegyünk a random_Orszagok tömb minden elemén, és összehasonlítjuk az adott országhoz tartozó fővárost a játékos által beírt értékkel. Ha a két string egyezik, növeljük a helyes válaszok darabszámát. A játék végén kiíratjuk, hogy mennyi helyes választ ért el a játékos.

<!DOCTYPE html>
<html lang="hu">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Európai országok</title>
</head>

<body>
    <script>

        let orszagok = [
            { orszag: "Magyarország", fovaros: "Budapest" },
            { orszag: "Németország", fovaros: "Berlin" },
            { orszag: "Ausztria", fovaros: "Bécs" },
            { orszag: "Csehország", fovaros: "Prága" },
            { orszag: "Spanyolország", fovaros: "Madrid" },
            { orszag: "Olaszország", fovaros: "Róma" },
            { orszag: "Svédország", fovaros: "Stockholm" },
            { orszag: "Finnország", fovaros: "Helsinki" },
            { orszag: "Franciaország", fovaros: "Párizs" },
            { orszag: "Egyesült Királyság", fovaros: "London" }
        ];
         // Fisher-Yates keverő algoritmus
        function kevert_sorrend(tomb) {
            for (let i = tomb.length - 1; i > 0; i--) {
                const j = Math.floor(Math.random() * (i + 1));
                [tomb[i], tomb[j]] = [tomb[j], tomb[i]];
            }
            return tomb;
        }

        function kerdezz() {
            // Véletlenszerűen kevert tömb, a slice() új tömböt hoz létre, az eredetit nem módosítja
            let random_Orszagok = kevert_sorrend(orszagok.slice()); 
            let jovalaszok = 0; // Jó válaszok száma
            for (let i = 0; i < random_Orszagok.length; i++) 
            {                
                let valasz = prompt(`Kérdés: 10/ ${i+1} Mi ${random_Orszagok[i].orszag} fővárosa?`);
                if (valasz.toLowerCase() === random_Orszagok[i].fovaros.toLowerCase()) {
                    alert("Helyes válasz!");
                    jovalaszok++;
                } else {
                    alert(`Sajnos rossz válasz. A helyes válasz: ${random_Orszagok[i].fovaros}.`);
                }
            }
            alert(`Vége a játéknak! Összesen ${random_Orszagok.length} / ${jovalaszok} kérdésre adtál helyes választ.`);
        }
        kerdezz();
    </script>
</body>    
</html>