4 Gewinnt - Code wird ignoriert

fliger5

Mitglied
Hi,
arbeite zurzeit an einem 4 Gewinnt Spiel in Java, allerdings ist jetzt ein Problem aufgetreten bei dem irgendwie der Code nach einem bestimmten Abschnitt ignoriert wird.

Hier mal der Code:
Java:
	public void actionPerformed(ActionEvent eingabe) {
		
		zaehler++;
		JButton gewählterButton = (JButton)eingabe.getSource();
		
		if(zaehler %2== 1) 
		 {gewählterButton.setBackground(Color.RED);}		
		 else 
		 {gewählterButton.setBackground(Color.YELLOW);}
			  
		
		
		//Runterrutschen
		
		for(int i=0;i<(BREITE*HOEHE)-1;i++)
		{
		//RED = 1
		if (button[i].getBackground()==Color.red && button[i+BREITE].getBackground()==Color.blue)
			{
			button[i].setBackground(Color.blue);
			button[i+BREITE].setBackground(Color.red);
			button[i].setEnabled(true);
			CheckArray[i] = 0;
			button[i+BREITE].setEnabled(false);
			CheckArray[i+BREITE] = 1;
			}
		else if (button[i].getBackground()==Color.red)
		{CheckArray[i] = 1;}
		
		//YELLOW = 2
		if (button[i].getBackground()==Color.yellow && button[i+BREITE].getBackground()==Color.blue)
		    {
		    button[i].setBackground(Color.blue);
		    button[i+BREITE].setBackground(Color.yellow);
		    button[i].setEnabled(true);
		    CheckArray[i] = 0;
		    button[i+BREITE].setEnabled(false);
		    CheckArray[i+BREITE] = 2;
		    }
		else if (button[i].getBackground()==Color.yellow)
		{CheckArray[i] = 2;}
		}
		
		
		//Ab hier wird ignoriert
		for (int i=1;i<(HOEHE*BREITE);i++)
		{
		System.out.print(CheckArray[i] + ", ");
		}

Hab die Stelle markiert ab der der Code ignoriert wird. Setz ich den kleinen Teil
Java:
for (int i=1;i<(HOEHE*BREITE);i++)
{
System.out.print(CheckArray[i] + ", ");
}
allerdings VOR das "Runterrutschen", dann klappt es. Leider gibts dann einen Logikfehler, deswegen muss der Code eben UNTER das "Runterrutschen".
Der kleine Teil ist übrigens nicht das einzige was ignoriert wird, sondern alles was danach kommt und noch zur "public void actionPerformed"-Klasse gehört.
 
Zuletzt bearbeitet:

Tobse

Top Contributor
Also zuerst einmal ist das keine Klasse sondern eine Methode.
Zweitens ist dein Code grausam eingerückt und bietet 0 Übersicht, mach das bitte mal so:

Code:
a;
b()
{
    d;
    for(;;)
    {
        e;
        f;
    }
}
else
{
    g;
}
Dann siehst du vllt auch besser, ob was mit deinen Variablen nicht stimmt (ob vllt [c]HOEHE[/c] oder [c]BREITE[/c] verändert wird.

[EDIT]
Vielleicht fliegt auch eine [c]ArrayIndexOutOfBoundsException[/c] bei [c]checkArray[i + BREITE][/c]?
[/EDIT]
 
Zuletzt bearbeitet:

fliger5

Mitglied
Also als Compiler benutz ich Eclipse.

Und ja, sorry Methode* ;)

HOEHE und BREITE sind fest deklariert, die werden nirgends verändert.

Dass das Array gesprengt wird ist auch nicht möglich, da ansonsten die Bedingungen nicht mehr erfüllt sein würden. (Die Anzahl der Buttons entspricht der Grösse des Arrays)

In dem Moment wo das Array gesprengt werden müsste, wäre die Bedingung
Code:
button[i+BREITE].getBackground()==Color.blue
nicht mehr gültig.
 
Zuletzt bearbeitet:

Tobse

Top Contributor
In dem Moment wo das Array gesprengt werden müsste, wäre die Bedingung
Code:
button[i+BREITE].getBackground()==Color.blue
nicht mehr gültig.
Ja, genau. Und dann fliegt entweder eine [c]ArrayIndexOutOfBoundsException[/c] oder eine [c]NullPointerException[/c]. Hast du 100% getestet, dass das nicht der fall ist?
 

Tobse

Top Contributor
Naja, wohl weil du dich irgendwo verrechnet hast. Gehs nochmal durch und überprüfe, ob deine Rechnungen korrekt sind. Wenn ja musst du wohl das Array größer machen...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Fünf Gewinnt Spiele- und Multimedia-Programmierung 9
I Vier gewinnt programmieren, Klick-Reihenfolge Spiele- und Multimedia-Programmierung 2
M Hilfe bei vier gewinnt Spiele- und Multimedia-Programmierung 4
C Vier Gewinnt Spiel Programmiertipp Spiele- und Multimedia-Programmierung 11
C Vier Gewinnt Problem mit Ordnerstruktur Spiele- und Multimedia-Programmierung 2
S 4 Gewinnt Spiele- und Multimedia-Programmierung 1
S Problem mit 4 gewinnt(MinMax Algorithmus) Spiele- und Multimedia-Programmierung 2
C Vier Gewinnt Spiele- und Multimedia-Programmierung 7
M Eine Art "Vier Gewinnt" Spiele- und Multimedia-Programmierung 5
T Vier gewinnt programmieren Spiele- und Multimedia-Programmierung 9
G 4 gewinnt - Kritik/Verbesserungsvorschläge/etc. Spiele- und Multimedia-Programmierung 3
C 4 gewinnt KI Spieler gegen Computer Spiele- und Multimedia-Programmierung 1
T vier gewinnt programmieren - aber wie Spiele- und Multimedia-Programmierung 19
H Tic Tac Toe / 3 Gewinnt OHNE Applet Spiele- und Multimedia-Programmierung 9
A Vier-Gewinnt-Problem Spiele- und Multimedia-Programmierung 11
Y Applet für "Vier Gewinnt": Welche Klassen verwende Spiele- und Multimedia-Programmierung 10
D 4 gewinnt Projekt Spiele- und Multimedia-Programmierung 2
B 4 Gewinnt Problem Spiele- und Multimedia-Programmierung 5
N 4 Gewinnt fertig (Kritik, Fragen etc. erwünscht) Spiele- und Multimedia-Programmierung 29
A 4 gewinnt Spiele- und Multimedia-Programmierung 4
S Welche Klassen für ein 4 Gewinnt? Spiele- und Multimedia-Programmierung 6
C Vier gewinnt 3D Spiele- und Multimedia-Programmierung 16
R Vier gewinnt: Bitte testen Spiele- und Multimedia-Programmierung 25
N Seltsame Exception bei Code eines Spiele-Tutorials Spiele- und Multimedia-Programmierung 6
lolzo Minecraft Minecraft: Exit Code: 0 Spiele- und Multimedia-Programmierung 3
A Code in Programm wandeln, wie? Spiele- und Multimedia-Programmierung 3
S Connect6 Spiel - Code in ei Spiele- und Multimedia-Programmierung 2
B Euer Feedback zu meinem Code ist gefragt Spiele- und Multimedia-Programmierung 2
turing OpenGL / Jogle Code Reveiw zur Performance Verbesserung Spiele- und Multimedia-Programmierung 1
H TicTacToe Code Vereinfachen Spiele- und Multimedia-Programmierung 5
A Code Verstehen Spiele- und Multimedia-Programmierung 24
N Aiken Code umwandeln Spiele- und Multimedia-Programmierung 2
S Code:250 FPS mit Fullscreenantialising 1024x768 Spiele- und Multimedia-Programmierung 10
R Verstehe Beispiel-Code nicht Spiele- und Multimedia-Programmierung 7
TobiasN Wer Wird Millionär Spiele- und Multimedia-Programmierung 4
B Bild wird nicht geladen Spiele- und Multimedia-Programmierung 4
R JPanel wird erst im Fullscreen angezeigt Spiele- und Multimedia-Programmierung 1
K Das Leerzeichen der Tastatur wird nicht gleichgesetzt mit dem Leerzeichen aus der Text Datei Spiele- und Multimedia-Programmierung 5
B Programmieren wie der Befehl /ban in Minecraft geblockt wird aber nicht /ban mit einem Argument Spiele- und Multimedia-Programmierung 1
J OpenGL Bild wird nicht richtig angezeigt Spiele- und Multimedia-Programmierung 2
S GetBufferStrategy-Methode wird nicht angezeigt Spiele- und Multimedia-Programmierung 6
G Wer wird Millionär / Fragefenster Spiele- und Multimedia-Programmierung 6
L Transparenz wird magenta Spiele- und Multimedia-Programmierung 3
Polarfuchs Status von Midi Datei(wird gerade abgespielt oder nicht) Spiele- und Multimedia-Programmierung 0
A Bild(sequenz) wird nicht geladen Spiele- und Multimedia-Programmierung 1
C Mein Programm wird sofort terminated Spiele- und Multimedia-Programmierung 8
A [LWJGL] BMP Textur wird nicht richtig dargestellt Spiele- und Multimedia-Programmierung 8
S LWJGL Rechteck wird nicht gezeichnet Spiele- und Multimedia-Programmierung 6
J Versch. Pfeiltasten angezeigt obwohl nur 1 gedrückt wird Spiele- und Multimedia-Programmierung 2
Creylon [LWJGL] Textur wird falsch angezeigt Spiele- und Multimedia-Programmierung 12
S Nur den Bereich des JPanels zeichen der im Viewport des JScrollPane angezeigt wird Spiele- und Multimedia-Programmierung 8
Q BufferedImage vs. Heap Space ‒ Warum wird der Speicher nicht freigegeben? Spiele- und Multimedia-Programmierung 6
M Karte wird falsch gezeichnet Spiele- und Multimedia-Programmierung 9
H Skalierung eines Polygons ohne das es verschoben wird Spiele- und Multimedia-Programmierung 3
C Alles hängt, wenn ein Sound abgespielt wird Spiele- und Multimedia-Programmierung 9
K Transformation wird nicht angewendet Spiele- und Multimedia-Programmierung 3
A Wie wird die Person im Game animiert, dass sie ihre Körperteile bewegen? Spiele- und Multimedia-Programmierung 3
A Shape Geometry, wird nicht angezeigt Spiele- und Multimedia-Programmierung 6
L Progress Bar wird erst zu spät ganz angezeigt Spiele- und Multimedia-Programmierung 5
D Jogl:Textur auf GLUquadric wird vertikal spiegelverkehrt dargestellt Spiele- und Multimedia-Programmierung 2
M Java Textadventure HashMap wird nicht befüllt? Spiele- und Multimedia-Programmierung 7
P [JMF] Webcam wird nicht gefunden Spiele- und Multimedia-Programmierung 3
P Erkennen auf welche Objekte gezeigt wird in JoGL Spiele- und Multimedia-Programmierung 6
Steev KeyPressed:Tab wird nicht mehr weitergeleitet Spiele- und Multimedia-Programmierung 2
J JOGL - Bild wird immer wieder weiß Spiele- und Multimedia-Programmierung 2
0x7F800000 weiß einer wozu ANTLR beim build von JOGL verwendet wird? Spiele- und Multimedia-Programmierung 3
J MenuBar wird bei Spiel nicht angezeigt Spiele- und Multimedia-Programmierung 5
L Frame wird geöffnet es wird aber nix angezeigt Spiele- und Multimedia-Programmierung 2
R Die korrekte Breite/Höhe eines Bildes wird nicht erkannt. Spiele- und Multimedia-Programmierung 2
P JOGL: mit glTranslated wird nichts gezeichnet Spiele- und Multimedia-Programmierung 3
F Szene wird nicht komplett angezeigt (Tiefenproblem?) Spiele- und Multimedia-Programmierung 2
G Fragespiel, Hilfe ! like Wer wird Millinär Spiele- und Multimedia-Programmierung 12
M 1. Menüleiste wird doppelt gezeichnet 2. awt auf ein jpanel Spiele- und Multimedia-Programmierung 4
F WakeupOnAWTEvent wird ignoriert! Spiele- und Multimedia-Programmierung 2
C BackgroundSound wird nicht abgespielt Spiele- und Multimedia-Programmierung 3

Ähnliche Java Themen

Neue Themen


Oben