Wie kann ich meinen Fehler beheben?

1 Antwort

Vom Beitragsersteller als hilfreich ausgezeichnet

Der Fehler liegt in der Logik deines Codes, die bestimmt, ob der Spieler bei einer Farbwette gewinnt oder verliert. Du vergleichst die Variable roulette_gewinnfarbe mit user_color_game_input, aber roulette_gewinnfarbe wird immer entweder auf "rot" oder "schwarz" gesetzt, unabhängig davon, welche Zahl tatsächlich gewonnen hat.

Hier ist der problematische Codeabschnitt:

if (ist_rot) {
     setText("lbl_status_r.", "Es gewinnt rot und die Zahl " + roulette_gewinnzahl);
    } else {
     setText("lbl_status_r.", "Es gewinnt schwarz und die Zahl " + roulette_gewinnzahl);
    }
    if (roulette_gewinnfarbe != "rot") { // HIER LIEGT DER FEHLER
     roulette_gewinnfarbe = "schwarz"; 
    }

Erläuterung:

  1. Du setzt ist_rot korrekt basierend darauf, ob die Gewinnzahl in rote_zahlen enthalten ist.
  2. Du gibst die Gewinnfarbe korrekt aus.
  3. Der Fehler: Die Bedingung if (roulette_gewinnfarbe != "rot") ist immer wahr, wenn ist_rot falsch ist. Das bedeutet, dass roulette_gewinnfarbe immer auf "schwarz" gesetzt wird, wenn ist_rot falsch ist, auch wenn die Gewinnzahl eigentlich rot ist.

Lösung:

Entferne die Zeile if (roulette_gewinnfarbe != "rot") { roulette_gewinnfarbe = "schwarz"; } komplett. Du hast roulette_gewinnfarbe bereits korrekt innerhalb der if (ist_rot) Bedingung gesetzt.

Verbesserter Code:

onEvent("btn_Roulette_drehen", "click", function() {
  // ... (restlicher Code)

  if (ist_rot) {
    setText("lbl_status_r.", "Es gewinnt rot und die Zahl " + roulette_gewinnzahl);
    roulette_gewinnfarbe = "rot"; 
  } else {
    setText("lbl_status_r.", "Es gewinnt schwarz und die Zahl " + roulette_gewinnzahl);
    roulette_gewinnfarbe = "schwarz";
  }

  // ... (restlicher Code)
});
Woher ich das weiß:Berufserfahrung – Web-Development , C++ , Python , Java