• Guten Morgen Community,


    ich habe eine Frage, vielleicht kann mir jemand helfen. Ich möchte in einem Quiz einen Counter einbauen. Leider funktioniert es bei mir nicht richtig. Der Counter soll bis drei gehen. Bei mir ist kein Abbruch des Quiz.


    Wie programmiere ich so etwas?


    Ich bin für jede Hilfe dankbar.


    Danke.


    Patrick

  • Wenn ich mir deinen anderen Thread ansehe, sehe ich zwei Möglichkeiten, das zu berücksichtigen:


    1. Bei der Abfrage innerhalb der do-Schleife die Schleife verlassen:

    Code
            do {
                if (count <= 3) { // Hier fehlte das "if"
                    var eingabe = prompt(count + ". Versuch. Wie hieß der erste Erdbewohner im All:", "");
                } else {
                    break;
                }


    2. Den Counter in der while-Bedingung berücksichtigen:

    Code
            } while (eingabe != antwort1 && count < 3)
  • Ich habe den Code jetzt mal so erfasst, aber trotzdem funktioniert es nicht ganz reibungslos. Er schreibt mir jetzt beim OK Button ohne Eingabe einer Antwort Richtig.


    Ich kopiere den aktuellen Code einmal ein.


    function schreibwas() {

    var count = 3;

    var antwort1 = "Laika";

    var antwort2 = "Juri Gagarin";

    var antwort3 = "3 x falsch";

    do {

    if (count <= 3) {

    var eingabe = prompt(count + ". Versuch. Wie hieß der erste Erdbewohner im All:","");

    } else {

    break;

    }

    if (eingabe == antwort2) {

    alert("Fast richtig, Sie dürfen noch einmal raten");

    continue;

    }

    if (eingabe == antwort1) {

    document.getElementById("ergebnis").innerHTML = "Richtig";

    break;

    }

    if (eingabe == antwort3) {

    document.getElementById("ergebnis").innerHTML = "3 x mal falsch";

    break;

    }

    } while (eingabe != antwort1 && count < 3)

    {

    document.getElementById("ergebnis").innerHTML = "Richtig";

    }

    }

    Vielleicht kannst du ja nochmal schauen.


    Danke.

  • Ja, in meinem Posting #2 hatte ich zwei Alternativen beschrieben, d. h. Du hättest nur eine umzusetzen brauchen.

    Außerdem: Du zeigst ja dem Benutzer an, der wievielte Versuch es ist. Dazu musst Du beim Zählen mit 1 beginnen, also let count = 1;.

  • Folgende Änderungen habe ich vorgenommen.


    var count = 3; ersetzt durch let count = 1; an gleicher Stelle


    Ich habe beide Varianten von count einzeln probiert, trotzdem starte er mir das Quiz nicht.

  • function schreibwas() {

    let count = 1;

    var antwort1 = "Laika";

    var antwort2 = "Juri Gagarin";

    var antwort3 = "3 x falsch";

    do {

    var eingabe = prompt (count + ". Versuch. Wie hieß der erste Erdbewohner im All:","");

    }

    if (eingabe == antwort2) {

    alert ("Fast richtig, Sie dürfen noch einmal raten");

    continue;

    }

    if (eingabe == antwort1) {

    document.getElementById("ergebnis").innerHTML = "Richtig";

    break;

    }

    if (eingabe == antwort3) {

    document.getElementById("ergebnis").innerHTML = "3 x mal falsch";

    break;

    }

    } while (eingabe != antwort1 && count < 3)

    {

    document.getElementById("ergebnis").innerHTML = "Richtig";

    }

    }

  • Da ist eine schließende geschweifte Klammer fehl am Platze:

    Code
                do {
    
                    var eingabe = prompt(count + ". Versuch. Wie hieß der erste Erdbewohner im All:", "");
    
                    } // Die schließende Klammer ist hier fehl am Platze
    
                    if (eingabe == antwort2) {

    Lösche ich sie ist der Code zumindest frei von Syntaxfehlern. Rückt man den Code sinnvoll ein, sieht man schnell, dass da etwas nicht stimmt.


    Benutze bitte Code-Tags wenn Du Code postest, das </> in der Werkzeugleist oben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!