Variable übergeben

Ich hab ein Spiel programmiert.Nun will ich , bevor das Spiel startet einen Startbildschirm programmieren , in dem man die Spielfeldgröße des Spiels festlegt .

Jedoch komm ich irgendwie nicht weiter.

Hier die 2 Klassen

Java:
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;


public class Startbildschirm implements ActionListener {
   
	JPanel startpanel=new JPanel();
	JButton Leicht=new JButton("Leicht");
	JButton Mittel=new JButton("Mittel");
	JButton Schwierig=new JButton("Schwierig");
	JFrame fenster = new JFrame();
	
	int spielfeldgröße;
	
	public  Startbildschirm() {
		
	
		startpanel.setLayout(new GridLayout(3,1));
		Leicht.addActionListener(this);
		Leicht.setActionCommand("Leicht");
		Mittel.addActionListener(this);
		Mittel.setActionCommand("Mittel");
		Schwierig.addActionListener(this);
		Schwierig.setActionCommand("Schwierig");
		startpanel.add(Leicht);
		startpanel.add(Mittel);
		startpanel.add(Schwierig);
		fenster.getContentPane().add(startpanel);
		fenster.setVisible(true);
		fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		fenster.pack();
		fenster.setLocationRelativeTo(null);

	}
	

	public void actionPerformed(ActionEvent arg0) {

		String Schwierigkeit = arg0.getActionCommand();
		if(Schwierigkeit.equals("Leicht")){
			spielfeldgröße = 25;
			Reactor re = new Reactor();
		}
		if(Schwierigkeit.equals("Mittel")){
			spielfeldgröße = 49;
			Reactor re = new Reactor();
		}
		if(Schwierigkeit.equals("Schwierig")){
			spielfeldgröße = 81;
			Reactor re = new Reactor();
		}
	}
	public static void main(String[] args) {
		Startbildschirm sb = new Startbildschirm();

	}
}



Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Reactor  implements ActionListener   {

	JButton[] btns = new JButton[25];
	int punktzahl = 0;
	int schwierigkeit = 5;
	int sekundenzähler = 0;
	int limit = 1000000000;
	int wartezeit = 1000;
	int high = 26;
	int low = 1;
	int spielfeldgröße ;
	int mommentaneZahl ;
	int spielfeldlänge = (int) Math.sqrt(spielfeldgröße);
	boolean start = false;
	JLabel label=new JLabel(); 
	JPanel verliererpanel = new JPanel();
	JPanel unterverliererpanel = new JPanel();
	JPanel panel = new JPanel();
	JTextField text1=new JTextField("Du hast verloren !");
	JTextField text2=new JTextField("Deine Punktzahl :"+punktzahl+"");
	JPanel spielfeld = new JPanel();
	JFrame f = new JFrame();
	JButton button=new JButton("OK");
	
	public Reactor() {

		initializeButtons();
		
	
		button.addActionListener(this);
		button.setActionCommand("OK");
		panel.setLayout(new BorderLayout());
		verliererpanel.setLayout(new GridLayout(2,1));
		unterverliererpanel.setLayout(new GridLayout(2,1));
		unterverliererpanel.add(text1);
		text1.setHorizontalAlignment(0);
		unterverliererpanel.add(text2);
		text2.setHorizontalAlignment(0);
		verliererpanel.add(unterverliererpanel,BorderLayout.CENTER);
		verliererpanel.add(button);
		spielfeld.setLayout(new GridLayout(spielfeldlänge, spielfeldlänge));

		for (int zeile = 0; zeile < spielfeldgröße; zeile++) {

			spielfeld.add(btns[zeile]);

			btns[zeile].addActionListener(this);
			btns[zeile].setBackground(Color.WHITE);
			btns[zeile].setText("" + (zeile) + "");

			btns[zeile].setActionCommand("" + zeile + "");

		}
		btns[((spielfeldgröße-1)/2)].setBackground(Color.RED);
		mommentaneZahl = ((spielfeldgröße-1)/2);
		panel.add(spielfeld, BorderLayout.CENTER);
		panel.add(label, BorderLayout.NORTH);
		f.getContentPane().add(panel);
		f.setVisible(true);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.pack();
		f.setLocationRelativeTo(null);

	}

	private void initializeButtons() {
		for (int a = 0; a < spielfeldgröße; a++) {
			btns[a] = new JButton(" ");
		}
	}
		
		 	
		 
		 
	

	@Override
	public void actionPerformed(ActionEvent arg0) {

		String gedrückteZahl = arg0.getActionCommand();
		
		
		if(gedrückteZahl.equals("OK")){
			Startbildschirm st=new Startbildschirm();
		}
		
		
		start = true;
		if (gedrückteZahl.equals(""+mommentaneZahl+"")) {
			

			punktzahl++;
			label.setText(""+punktzahl+"");
			
			
			
			if (punktzahl > 5) {
				int zufallszahlextra1 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra1].setBackground(Color.BLUE);
			}
			if (punktzahl > 10) {
				int zufallszahlextra2 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra2].setBackground(Color.GREEN);
			}
			if (punktzahl > 15) {
				int zufallszahlextra3 = (int) (Math.random() * (spielfeldgröße));
				btns[zufallszahlextra3].setBackground(Color.YELLOW);
			}
			if (punktzahl > 20) {
				int zufallszahlextra4 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra4].setBackground(Color.ORANGE);
			}
			if (punktzahl > 25) {
				int zufallszahlextra5 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra5].setBackground(Color.BLACK);
			}
			if (punktzahl == 30) {
				for (int zeile = 0; zeile < spielfeldgröße; zeile++) {
					btns[zeile].setBackground(Color.WHITE);
			}
			}
			if (punktzahl >30) {
				int zufallszahlextra6 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra6].setBackground(Color.PINK);
				int zufallszahlextra7 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra7].setBackground(Color.MAGENTA);
			}
			if (punktzahl >50) {
				int zufallszahlextra8 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra8].setBackground(Color.CYAN);
				int zufallszahlextra9 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra9].setBackground(Color.BLUE);
			}
			if (punktzahl >100) {
				int zufallszahlextra8 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra8].setBackground(Color.CYAN);
				int zufallszahlextra9 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra9].setBackground(Color.BLUE);
				int zufallszahlextra6 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra6].setBackground(Color.PINK);
				int zufallszahlextra10 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra10].setBackground(Color.MAGENTA);
				int zufallszahlextra11 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra11].setBackground(Color.BLACK);
				int zufallszahlextra12 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra12].setBackground(Color.GREEN);
				
			}
			if (punktzahl >150) {
				int zufallszahlextra13 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra13].setBackground(Color.CYAN);
				int zufallszahlextra14= (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra14].setBackground(Color.BLUE);
				int zufallszahlextra15 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra15].setBackground(Color.PINK);
				int zufallszahlextra16 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra16].setBackground(Color.MAGENTA);
				int zufallszahlextra17 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra17].setBackground(Color.BLACK);
				int zufallszahlextra18 = (int) (Math.random() * (spielfeldgröße ));
				btns[zufallszahlextra18].setBackground(Color.GREEN);
				int zufallszahlextra19 = (int) (Math.random() * (spielfeldgröße));
				btns[zufallszahlextra19].setBackground(Color.YELLOW);
				
			}
			btns[mommentaneZahl].setBackground(Color.WHITE);
			int zufallszahl = (int) (Math.random() * (spielfeldgröße ));
			btns[zufallszahl].setBackground(Color.RED);
			mommentaneZahl = zufallszahl;
			System.out.print(""+sekundenzähler+"");
			sekundenzähler = 0;
		}

		else {
			for (int zeile = 0; zeile < spielfeldgröße; zeile++) {

				btns[zeile].removeActionListener(this);
				start = false;
			    f.remove(panel);
				f.add(verliererpanel, BorderLayout.CENTER);
				
			
			}
		}

	}
}
 

Kiri

Bekanntes Mitglied
Ich rate mal, dass du der Klasse Reactor die Spielfeldgröße übergeben willst.

Füge der Klasse einfach einen Konstruktor hinzu, der die Spielfeldgröße als Parameter bekommt.

etwa so:

Java:
public Reactor (int spielfeldgroesse){
    this.spielfeldgröße = spielfeldgroesse;
    ....

So etwas
Java:
        if(Schwierigkeit.equals("Leicht")){
            spielfeldgröße = 25;
            Reactor re = new Reactor();
        }

müsste dann so lauten

Java:
        if(Schwierigkeit.equals("Leicht")){
            spielfeldgröße = 25;
            Reactor re = new Reactor(spielfeldgröße);
        }

Für ein ö würde ich lieber oe und für ß ein ss nehmen oder am besten gleich alles in Englisch!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Variable von 1. Fenster an 2. Fenster übergeben. Java Basics - Anfänger-Themen 7
NeoLexx Variable für Array wird nicht korrekt übergeben Java Basics - Anfänger-Themen 45
E Variable (Vektor) in andere Methode übergeben Java Basics - Anfänger-Themen 4
R Variablen Variable an FXML-Controller übergeben Java Basics - Anfänger-Themen 4
J Datentypen Literal überschreitet long-Range, dennoch als long an Variable übergeben Java Basics - Anfänger-Themen 9
M Variable zwischen Klassen übergeben Java Basics - Anfänger-Themen 5
T Variable übergeben Fehler Java Basics - Anfänger-Themen 3
W Variable an andere Klasse übergeben Java Basics - Anfänger-Themen 3
T Sql Datenbank - variable übergeben? Java Basics - Anfänger-Themen 8
B Variablen Android: Spinner-Eintrag einen versteckten numerischen Wert zuordnen und Variable übergeben Java Basics - Anfänger-Themen 3
G ResultSet übergeben bzw. in andere Variable übernehmen Java Basics - Anfänger-Themen 6
S Erste Schritte Variable Parameter an JAR übergeben Java Basics - Anfänger-Themen 10
T Referenz einer Variable übergeben Java Basics - Anfänger-Themen 3
A Main warten lassen bis Variable durch Button übergeben wird Java Basics - Anfänger-Themen 2
E Variable aus einer Methode heraus in eine andere Klasse übergeben Java Basics - Anfänger-Themen 13
R Stoppuhr: Zeit ermitteln und übergeben - Variable static?? Java Basics - Anfänger-Themen 6
R Variable an andere Klasse übergeben? Java Basics - Anfänger-Themen 3
B Methode als variable an andere Mehtode übergeben Java Basics - Anfänger-Themen 17
T Variable übergeben Java Basics - Anfänger-Themen 2
-horn- Variable von PHP an Java übergeben und Ergebnis zurückgeben? Java Basics - Anfänger-Themen 10
C Variable dem Konstruktor einer Klasse übergeben Java Basics - Anfänger-Themen 8
D Variable per Link an Java übergeben Java Basics - Anfänger-Themen 8
G Variable übergeben Java Basics - Anfänger-Themen 4
R Variable wird nicht übergeben Java Basics - Anfänger-Themen 2
Yuen Wert an Variable in anderer Datei übergeben. Java Basics - Anfänger-Themen 4
G Kann Variable nicht in Methode übergeben Java Basics - Anfänger-Themen 14
D Variable ?übergeben? Java Basics - Anfänger-Themen 5
D Objekt-Variable an anderes Objekt übergeben Java Basics - Anfänger-Themen 9
P Variable beim ActionListener übergeben Java Basics - Anfänger-Themen 4
L Variable an Thread übergeben Java Basics - Anfänger-Themen 5
S Variable übergeben Java Basics - Anfänger-Themen 19
M Länge eines Arrays als Variable speichern möglich? Java Basics - Anfänger-Themen 14
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
T Variable in Schleife deklarieren, Speicherplatz, Garbage Collector Java Basics - Anfänger-Themen 10
T Datum als Variable wert Java Basics - Anfänger-Themen 4
G Variable aktualisiert sich nicht in rekursiver Methode Java Basics - Anfänger-Themen 4
R Compiler-Fehler Variable wird nicht gefunden bzw. erkannt? Java Basics - Anfänger-Themen 2
Say super.methode / super.variable und super(variable) Java Basics - Anfänger-Themen 2
M variable in anderer funktion aufrufen Java Basics - Anfänger-Themen 10
N Was Passiert mit dem Namen einer Variable, wenn man diese einer Liste Hinzufügt Java Basics - Anfänger-Themen 16
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
U Wie mache ich die Variable xyz eindeutig/unique? Java Basics - Anfänger-Themen 20
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Variable Felderanzahl Java Java Basics - Anfänger-Themen 10
T Variable durch Action Listener ändern Java Basics - Anfänger-Themen 2
stormyark Fehler beim überschreiben einer Variable Java Basics - Anfänger-Themen 1
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
I Methoden Wieso wird mein Array "a" verändert und meine Variable "a" nicht? Java Basics - Anfänger-Themen 4
M Variable in einer Schleife initialisieren Java Basics - Anfänger-Themen 46
W Schleife und einmal variable++ zu viel Java Basics - Anfänger-Themen 20
M String mit Variable vergleichen Java Basics - Anfänger-Themen 9
M Methoden Wert einer Variable geht verloren? Java Basics - Anfänger-Themen 6
G variable kopieren bzw. woanders benutzen Java Basics - Anfänger-Themen 6
Ameise04 Variablen Inhalt einer Variable im Code verwenden? Java Basics - Anfänger-Themen 9
J Double Variable und Addition Java Basics - Anfänger-Themen 2
I Variable innerhalb Methode: Local variable test defined in an enclosing scope must be final or effectively final Java Basics - Anfänger-Themen 3
KogoroMori21 Variable im Parameter und Ohne Java Basics - Anfänger-Themen 5
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
H Datentypen Wertebereich von <Klassenname> <Variable> Java Basics - Anfänger-Themen 12
M Private Variable Java Basics - Anfänger-Themen 2
idontknow707 Matrix nach z.B. Variable durchsuchen Java Basics - Anfänger-Themen 4
T Variable in for Schleife ansprechen ohne Array ? Java Basics - Anfänger-Themen 25
s.marcii Modulo in der Variable einsetzen - ist das möglich? Java Basics - Anfänger-Themen 2
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
Y Wie kann ich die Variable in der Try Catch returnen? Java Basics - Anfänger-Themen 3
K Übergabe des Wertes einer Variable aus main() in eine Klassenmethode Java Basics - Anfänger-Themen 8
B Inkrement von Variable Java Basics - Anfänger-Themen 8
V Variablen statische Variable einer Objektvariable zuordnen Java Basics - Anfänger-Themen 3
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
J JTextField Bezeichnung als Variable Java Basics - Anfänger-Themen 3
N Wie kann ich eine meine Variable Final machen? Java Basics - Anfänger-Themen 1
M Enum-Variable HashMap zuweisen Java Basics - Anfänger-Themen 5
H Variable um 1 erhört ausgeben Java Basics - Anfänger-Themen 4
V Erste Schritte Eine Array-Variable mit Benutzereingaben befüllen Java Basics - Anfänger-Themen 3
J Fehlermeldung unklar. non-static variable player0 cannot be referenced from a static context Java Basics - Anfänger-Themen 4
P non-static variable cannot be referenced from a static context Java Basics - Anfänger-Themen 6
A Wie zwei zahlen in einer Variable speichern? Java Basics - Anfänger-Themen 7
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
M Input/Output JTextField Eingabe in String Variable speichern Java Basics - Anfänger-Themen 15
A Kann man eine Methode als Variable speichern und danach noch verändern? Java Basics - Anfänger-Themen 6
L cannot find symbol variable Kon Java Basics - Anfänger-Themen 8
C Statischer Typ aber Variable nicht statisch? Java Basics - Anfänger-Themen 5
H Variable.methode aufstellen, verstehen Java Basics - Anfänger-Themen 2
R Warnung, wenn eine Variable eingegeben wird Java Basics - Anfänger-Themen 6
S Variable einscannen Java Basics - Anfänger-Themen 30
N Best Practice Rückgabe eines Terminal Befehls in eine Variable speichern Java Basics - Anfänger-Themen 27
M Erste Schritte Mit Variable verschiedene Texte in Textfeld einfügen Java Basics - Anfänger-Themen 27
J Input-Variable nicht sichtbar Java Basics - Anfänger-Themen 2
L Warum ist Variable null? Java Basics - Anfänger-Themen 3
A OOP Variable in anderer Klasse durch Methode aufrufen und einer anderen Variable gleichsetzen Java Basics - Anfänger-Themen 2
S Variable Parameter Java Basics - Anfänger-Themen 5
D Datei auslesen & Werte in Variable speichern Java Basics - Anfänger-Themen 12
P if - Statement erkennt variable nicht. Java Basics - Anfänger-Themen 12
J Ungewollte Wertveränderung einer Variable Java Basics - Anfänger-Themen 9
J Zugriff auf Variable in anderem Programm Java Basics - Anfänger-Themen 5
R variable istpositiv might not have been initialized Java Basics - Anfänger-Themen 2
A Methodenname aus variable Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben