Boolean von einer Methode in eine andere bekommen...

Sphinx64

Grünschnabel
Hallo Zusammen

Ich habe ein Problem. Ich soll für die Schule ein Spielprojekt erstellen und will in einer Methode einen Boolean true setzen und diesen dann meiner Main Methode weiterverwenden.

Der boolean ist in der Methode Bombe als true festgelegt.
Hier ist meine Main Methode MyGameGrid in der der Wert explode weiterverwendet werden soll:

Java:
import ch.aplu.jgamegrid.*;
import java.awt.Color;
import java.awt.event.KeyEvent;
public class MyGameGrid extends GameGrid
{
    private Player player1;
    private Bombe bombe;
    private boolean explode;
    private int bombenzähler;
    private int level;
    
    
  public MyGameGrid() 
  {
    super(26, 18, 35,   "hintergrundbilder/Hintergrund.jpg");
   
    Player player1 = new Player ();
    addActor(player1, new Location (0,0));
    
   
    explode= false;
    SuperBlöcke sBlock1 = new SuperBlöcke ();
    addActor(sBlock1, getRandomEmptyLocation());
    
    getLevel();
    if (explode=true) {
        this.bombenzähler = bombenzähler;
        Bombe bombe = new Bombe (bombenzähler);
        
       addActor(bombe, new Location (player1.getLocation())); 
        addKeyListener(player1); 
        addKeyListener(bombe);
         bombenzähler++;
         explode=false;
    }
    //addKeyListener(bombe[bombenzähler]);    
     /* if (explode = true) 
       {
           Bombe bombe[] = new Bombe[bombenzähler];
           addActor(bombe[bombenzähler], new Location (player1.getLocation())); 
              
       }
    */
   // player1.addCollisonActor (sBlock1);
    show ();
    doRun();
  }
   
  public static void main(String[] args)
  {
    GameGrid gg = new MyGameGrid();
    
    new Level( gg, 1);
  }
  /*public boolean keyPressed (KeyEvent evt) 
    {    
       
      switch (evt.getKeyCode())
       { 
            case KeyEvent.VK_SPACE:
            explode = true;
            bombenzähler++;
            break;
          
        }
        
    return false;
    
    }
   
    public boolean keyReleased (KeyEvent evt)
    { 
        return false;
   }
   */
   private int  getLevel() 
   {
       return level;
    }
}
 

Yaslaw

alter Rempler
Moderator
Was genau ist die Frage?
Und hast du ein Boolean oder ein boolean. Ist nicht dasselbe

zudem: Das folgende macht glaub Eine zuordnung, kein Vergleich
Java:
//Zuordnung: Nachher ist explode true. Der Block wird ausgeführt
if (explode=true) {...}

//Vergleich: Der Block wird nicht ausgeführtm da weiter oben dem explode false zugeordnet wurde
if (explode==true) {...}
 

vfl_freak

Premium-User
Moin,
zudem: Das folgende macht glaub Eine zuordnung, kein Vergleich
Java:
//Zuordnung: Nachher ist explode true. Der Block wird ausgeführt
if (explode=true) {...}
//Vergleich: Der Block wird nicht ausgeführt, da weiter oben dem explode false zugeordnet wurde
if (explode==true) {...}
Richtig :)
Unter anderem deswegen sollte man auch immer die Kurzform schreiben:
Java:
if( explode ) {...}
// oder ggf.
if( !explode ) {...}

Gruß Klaus