JS: break; andere Möglichkeit?

parafi

Mitglied
Guten Tag

Ich habe folgende do..while Schleife:

HTML:
var x = 0;
Ende: do {
    if(set_spieler[x] == "ASS"){
     punkte_spieler = punkte_spieler - 10;
     ass_zaehler++;
     //Anzahl Punkte werden in HTML Box geschrieben
     punkte_aktualisieren_spieler = document.getElementById("zaehler_spieler").firstChild.nodeValue.length;
     document.getElementById("zaehler_spieler").firstChild.replaceData(0, punkte_aktualisieren_spieler, punkte_spieler);  
     break Ende;   
    }
    else {
     x++;
    }
   } while(x < set_spieler.length);

Mein Problem:
Wenn ich aus der Schleife geworfen werde, wegen dem break Ende; verliere ich die korrekten Anzahl Punkte! D.h. es werden die richtige Anzahl Punkte zwar ausgegeben auf meiner Page, aber dadurch das ich mit break; die Schleife beende, schreibt er mir die neuen Punkte des Spielers nicht in die Variable. Sodass ich danach in der Variable immer noch den alten Wert habe.

Beispiel:
Ein Spieler hat ein ASS, ein König und eine 6. Ergibt 11+10+6 = 27.
Nun soll geprüft werden ob ein ASS vorkommt, den dieses kann bekanntlicherweise auch als 1 gezählt werden. Nun kommt eines vor und die Punkte des Spielers sollten daher 17 sein. Angezeigt wird 17, da ich die Punktzahl noch ins HTML schreiben bevor break; ausgeführt wird. Wurde nun jedoch break; ausgeführt habe ich wieder den Wert 27 in meiner Variable.

Kann ich das Ganze irgendwie umgehen?

Besten Dank!

parafi
 
Ehrlich gesagt macht das nicht so richtig viel Sinn.
Du veränderst doch den Wert von punkte_spieler vor dem break; statement und nicht danach.

Wieso hast du dem break eigentlich ein label verpasst? Das ist eigentlich auch ziemlich unnötig in deinem Fall.
 
Hi

Ich habe den Fehler gefunden. Weiter unten füge ich wieder den alten Wert in punkte_spieler ein. :-S

Wieso hast du dem break eigentlich ein label verpasst? Das ist eigentlich auch ziemlich unnötig in deinem Fall.
Ganz einfach..ich bin daran JS und jQuery zu lernen. Deswegen probiere ich fast alles aus, was ich irgendwo lese oder in den API's finde.:D
 
Zurück