4Gewinnt - Anfängerproblemchen

Guten Abend,
ich hänge gerade an einem kleinen Java Problem. Ich bin totaler Anfänger und mache ein 4-Gewinnt Spiel.
Um beim Sieg eines Spielers irgendeinen Text ausgeben zu können habe ich

private boolean win = false;

deklariert, dann alle Gewinnbedingungen untergebracht.

Nur um alles zu testen sollte jetzt ein Label bei Erfüllung einer Gewinnbedingung den Text "Sieg" anzeigen, das habe ich so gemacht:

if (win=true) {
jLabel.setText("Sieg");
}

Nun zeigt das Label aber immer den Text "Sieg" an, egal ob Bedingungen erfüllt wurden. Selbst wenn keine vorhanden sind wird der Text angezeigt...
Stehe ich irgendwie auf dem Schlauch? ???:L
Wäre top wenn mir jemand helfen könnte.



-Gingerbreadman
 

eRaaaa

Top Contributor
if (win=true) {

= --> Zuweisung
== --> das was du suchst :)

->
if (win==true) {

oder weniger Fehleranfällig und weniger Tipparbeit:

if (win) {
 
Besten Dank, das hat schonmal geklappt.

Jetzt ist aber anscheinend was an meinen Bedingungen faul.
Also, auf Buttons wird beim klicken ein Text gesetzt, diese 2 will ich vergleichen.

if(jButton1.getText().equals(jButton2.getText()) && !jButton1.getText().equals("")){
win=true;
}

Wenn jButton1 also den selben Text enthält wie jButton 2, dieser Text aber nicht "" ist, soll win=true sein.
Das funktioniert aber so irgendwie nicht. :bahnhof:
 

eRaaaa

Top Contributor
Sieht aber korrekt aus, der Fehler muss woanders liegen!
Wieso prüfst du eig. Bedingungen anhand des Textes der Buttons? Du solltest das klarer trennen (MVC mal anschauen)
 

RySa

Bekanntes Mitglied
Dann ist entweder der Text nie leer, vlt ist er " " oder so etwas. Die Bedingung ist soweit richtig. Da muss es wohl entweder daran liegen, dass deine Variable win lokal ist, und da wo du es abfangen willst nicht sichtbar ist, oder die Texte sind irgendwie nie gleich.
Versuche zur Not es so zu strukturieren (obwohl es eigentlich keinen Unterschied macht):
Java:
if(!jButton1.getText().equals("")){
   if(jButton1.getText().equals(jButton2.getText())){
      win=true;
   }
   else{
      win=false;
   }
}
else{
   win=false;
}

PS. Benutze für Java codes auch die JAVA-Tags bitte.
 
Okay, das Spielchen läuft jetzt soweit, Danke!
Ein Problem konnte ich aber trotz endloser Internet-Suche nicht lösen. Ich habe ein teilweise transparentes Bild in einem jLabel. Das Label und ein paar Buttons liegen zusammen auf einem LayeredPane. Das Bild sollte im Vordergrund sein, die Buttons hinten. Entweder wird das Bild aber gleich im Hintergrund angezeigt oder sobald man einen Button klickt. Nach dem klicken sind die Buttons immer im Vordergrund und verdecken das eigentlich halbtransparente Bild. Krieg ich das irgendwie hin dass das Bild IMMER vorne bleibt?
Ich hab einiges gefunden, toFront(0, alwaysOnTop() usw, aber die scheinen alle nicht für Panels zu funktionieren...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Spielbaum für 4gewinnt Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben