Seite 1 von 4 1234 LetzteLetzte
Ergebnis 1 bis 15 von 51
Like Tree1Likes

Thema: Probleme mit Highscoreeintrag

  1. #1
    Warlock45 ist offline Jungspund
    registriert
    02-03-2017
    Beiträge
    23

    Probleme mit Highscoreeintrag

    Hallo Leute,

    ich bin noch total neu in der Welt des Programmierens. Deswegen seht mir bitte unsauberen Code oder mangelhaftes Wissen nach.
    Ich habe ein Ratespiel geschrieben bei dem die Versuche mitgezählt werden. Ich habe ein Div in das ich per innerHTML den Namen und den Versucherekord geschrieben habe. Aber das Problem ist dass der Eintrag mit jeder neuen Raterunde überschrieben wird. Solange der neue Eintrag weniger Versuche waren gut und schön. Aber er überschreibt mir auch den Rekord wenn der neue Score schlechter als der alte ist. Das ist mein Problem. Habe es mit "versuche < div4.innerHTML" probiert. Aber es funktioniert nicht. Warum bekomme ich keinen Zugriff auf den Highscoreeintrag um ihn mit dem neuen zu vergleichen? Und dass er nur überschrieben wird wenn der neue Score besser ist. Ich Danke euch für eure Hilfe

    Gruss Warlock45
    Geändert von mikdoe (30-03-2017 um 18:59 Uhr) Grund: gelöst gesetzt

  2. #2
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.352

    AW: Probleme mit Highscoreeintrag

    da bräuchten wir jetzt mal ein url wo man sich das anschauen kann
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  3. #3
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.218

    AW: Probleme mit Highscoreeintrag

    Zitat Zitat von Warlock45 Beitrag anzeigen
    Habe es mit "versuche < div4.innerHTML" probiert. Aber es funktioniert nicht. Warum bekomme ich keinen Zugriff auf den Highscoreeintrag um ihn mit dem neuen zu vergleichen?
    Vermutlich weil div4.innerHTML alles ist, nur keine Zahl.

  4. #4
    Warlock45 ist offline Jungspund
    registriert
    02-03-2017
    Beiträge
    23

    AW: Probleme mit Highscoreeintrag

    Hallo,

    habe leider erst heute Zeit um zu antworten.
    Dormilich Du sagst dass div4.innerHTML alles ist nur keine Zahl.
    Aber wenn ich das div4 mit inner.HTML auslese dann spuckt es mir doch die Versuche aus,also eine Zahl.
    Könntest Du mir das vielleicht mal erklären? Bin grade etwas verwirrt :-).
    Was müsste ich denn schreiben damit ich die neue Versuchsanzahl mit dem Rekord in div4 vergleichen kann?

  5. #5
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.352

    AW: Probleme mit Highscoreeintrag

    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  6. #6
    Warlock45 ist offline Jungspund
    registriert
    02-03-2017
    Beiträge
    23

    AW: Probleme mit Highscoreeintrag

    Danke mikdoe :-).
    Dann werde ich das mal studieren.

  7. #7
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.352

    AW: Probleme mit Highscoreeintrag

    versuch mal parseInt(div4.textContent,10) anstatt div4.innerHTML
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  8. #8
    Warlock45 ist offline Jungspund
    registriert
    02-03-2017
    Beiträge
    23

    AW: Probleme mit Highscoreeintrag

    mikdoe das will auch nicht klappen.

  9. #9
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.352

    AW: Probleme mit Highscoreeintrag

    zeig mal deinen code oder einen link
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  10. #10
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.380

    AW: Probleme mit Highscoreeintrag

    Wie wird denn eine neue Raterunde gestartet? Indem die Seite neu geladen wird? Wenn ja, ist klar, dass das nicht funktioniert, da ja beim neu Laden alles zurückgesetzt wird - du müsstest dann etwas serverseitiges bauen, das das speichert und dann entsprechend ausgibt.

  11. #11
    Warlock45 ist offline Jungspund
    registriert
    02-03-2017
    Beiträge
    23

    AW: Probleme mit Highscoreeintrag

    Hallo kkapsner,

    ja die Seite wird neu geladen für die Raterunde. Aber das dürfte ja nichts machen da ich den Rekord lokal mit sessionStorage speichere und mit window.onload wieder reinlade. Oder verstehe ich da was falsch?

  12. #12
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.218

    AW: Probleme mit Highscoreeintrag

    Ohne den Code zu kennen, reden wir hier doch letzten Endes nur um den heißem Brei herum.

  13. #13
    Warlock45 ist offline Jungspund
    registriert
    02-03-2017
    Beiträge
    23

    AW: Probleme mit Highscoreeintrag

    Hier der Code:

    Code:
    var min = 1;
    var max = 100;
    var zz = Math.floor(Math.random() * max + 1);
    var versuche = 0;
    function Ratespiel() {
        var gz = document.getElementById("input1").value;
    if (gz == zz) {
          versuche++;
            div2.innerHTML="Sie haben die Zahl richtig getippt!";
            div3.innerHTML="Sie haben " +versuche+ " Versuche gebraucht!";
           var nickname = prompt("Sie haben einen neuen Rekord aufgestellt! Bitte geben sie ihren Namen ein!");
           div4.innerHTML="Rekord: " +nickname+ " " +versuche+ " Versuche";
           sessionStorage.setItem("speicher1", div4.innerHTML="Rekord: " +nickname+ " " +versuche+ " Versuche");
          var speicher1 = sessionStorage.getItem("speicher1");
    if (gz == zz && versuche >= parseInt(div4.textContent,10)) {
           versuche++;
            div2.innerHTML="Sie haben die Zahl richtig getippt!";
            div3.innerHTML="Sie haben " +versuche+ " Versuche gebraucht!";
    }
    if (gz == zz && versuche < parseInt(div4.textContent,10)) {
           versuche++;
            div2.innerHTML="Sie haben die Zahl richtig getippt!";
            div3.innerHTML="Sie haben " +versuche+ " Versuche gebraucht!";
           var nickname = prompt("Sie haben einen neuen Rekord aufgestellt! Bitte geben sie ihren Namen ein!");
           div4.innerHTML="Rekord: " +nickname+ " " +versuche+ " Versuche";
           sessionStorage.setItem("speicher1", div4.innerHTML="Rekord: " +nickname+ " " +versuche+ " Versuche");
          var speicher1 = sessionStorage.getItem("speicher1");
    }
    location.reload();
            return;
    }
    else if (gz == "") {
         div2.innerHTML="Sie haben keine Zahl eingegeben!";
            return;
        }
    else if (gz > zz) {
        versuche++;
            div2.innerHTML="Die gesuchte Zahl ist kleiner als " + input1.value +"!";
            div3.innerHTML="Dies ist ihr " + versuche + ". Versuch!";
            return;
        }
    else { 
        versuche++;
            div2.innerHTML="Die gesuchte Zahl ist grösser als " + input1.value +"!";
            div3.innerHTML="Dies ist ihr " + versuche + ". Versuch!";
            return;
        }
    };
    Also mir ist schon klar dass das Problem mit dem Überschreiben an der ersten If Anweisung liegt. Da sie ja True liefert wird immer per innerHTML ins div4 geschrieben. Somit auch der schlechtere Score über den Rekord. Aber wenn ich die erste If Anweisung an die dritte Stelle setze,funktioniert nicht mal mehr das Spiel. Dann erkennt es nicht mal mehr wann die richtige Zahl getippt wurde. Wie es aussieht habe ich nicht nur das Problem mit dem Überschreiben des Rekords durch den schlechteren Score. Verstehe nicht warum das vergleichen des Rekords mit dem neuen Score nicht klappt.

  14. #14
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.218

    AW: Probleme mit Highscoreeintrag

    Vermutlich weil div4.innerHTML alles ist, nur keine Zahl.
    Was sagt denn der Code dazu ...
    Code:
    div4.innerHTML="Rekord: " +nickname+ " " +versuche+ " Versuche";
    ... alles, eben nur keine Zahl!

    - - - Aktualisiert - - -

    Was du in SessionStorage speichern musst (so wie bei jedem Datenspeicher) sind die Anzahl der Versuche und der Name separat, ohne irgendwelche Erläuterungen drumherum.

  15. #15
    Warlock45 ist offline Jungspund
    registriert
    02-03-2017
    Beiträge
    23

    AW: Probleme mit Highscoreeintrag

    Dormilich ich habe es jetzt so abgeändert wie Du gesagt hast,aber es hat sich nichts geändert.
    Noch die selben Probleme wie vorher.

    - - - Aktualisiert - - -

    Ich hatte noch etwas minimales vergessen. Jetzt geht es mit der Highscore. Aber einen kleinen Fehler gibt es noch. Und zwar wenn ich dieselbe Versucheanzahl habe wie der Rekord ist. Dann schreibt es mir den Namen des neueren Score rein. Und das obwohl ich >= verwende.

Seite 1 von 4 1234 LetzteLetzte

Ähnliche Themen

  1. xml und js probleme
    Von sungod im Forum JavaScript
    Antworten: 2
    Letzter Beitrag: 08-08-2010, 15:54
  2. Probleme mit <pre>-Tag
    Von Grizly im Forum JavaScript
    Antworten: 1
    Letzter Beitrag: 26-03-2009, 18:37
  3. Probleme mit iso und utf
    Von IPMedien im Forum CSS und (X)HTML
    Antworten: 9
    Letzter Beitrag: 21-04-2008, 16:46
  4. Probleme mit PHP
    Von greenvalley im Forum Allgemeines
    Antworten: 1
    Letzter Beitrag: 19-07-2006, 21:31
  5. 2 probleme
    Von mascara im Forum Allgemeines
    Antworten: 11
    Letzter Beitrag: 04-04-2003, 13:49

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •