Tic Tac Toe - Brett auf Sieger überprüfen

azom

Mitglied
Hallo Leute

Bin derzeit dabei, ein übliches TTT-Spiel zu programmieren, aber jetzt hab ich ein Problem.
Jedes mal, wenn ein Spieler O oder X setzt, soll das Programm überprüfen, ob jemand gewonnen hat.
In meiner derzeitigen Version wird das Spiel jedoch nicht dann beendet, wenns sein sollte.
Kann mir da jemand helfen?

Java:
public class Tic 
{

private static String[][] brett=new String[3][3];
	
	public static boolean checkEnd()
	{
	int zahler=0;
	
		for(int i=0; i<3; i++)
		{	
		if(brett[i][0].equals(brett[i][1])&&brett[i][0].equals(brett[i][2])&&!brett[i][0].equals(" "))
			{
			return true;
			}
		}
		
		for(int i=0; i<3; i++)
		{
		if(brett[0][i].equals(brett[1][i])&&brett[0][i].equals(brett[2][i])&&!brett[0][i].equals(" "))
			{
			return true;
			}
		}
		
		if(brett[0][0].equals(brett[1][1])&&brett[0][0].equals(brett[2][2]))
		{
		return true;
		}
		
		if(brett[2][0].equals(brett[1][1])&&brett[2][0].equals(brett[0][2]))
		
		for(int i=0; i<3; i++)
		{	
			for(int n=0; i<3; i++)
			{
				if(brett[i][n].equals("O")||brett[i][n].equals("X"))
				{
				zahler++;
				}
			}
		}
		
		if(zahler==9)
		{
		return true;
		}
	zahler=0;
	return false;
	}
	
}

Die Ein- und Ausgabe läuft in einer Do-while-Schleife, die dann abgebrochen werden sollte, wenn ein spieler gewonnen hat.

Danke schon mal im Vorraus!
 
S

SlaterB

Gast
beim if in Zeile 26-29 wäre es egal wenn alle " " sind? vorher prüfst du das

na jedenfalls ist das leicht zu prüfen, ohne Programm kann es sowieso niemand sonst testen,
was hast du dann für eine Spielsituation, z.B. dreimal X in der oberen Reihe?
dann schaue an, was die erste Schleife bei i==0 macht, was kommt beim ersten der drei Vergleiche raus, beim zweiten und beim dritten?
oder wird die Schleife gar nicht erreicht? mit System.out.println() oder Debugger kannst du jeden einzelnen Programmschriff, jeden if-Vergleich direkt prüfen
und vergleichen was das Programm macht gegenüber dem Planablauf

am Code sehe ich keinen Fehler
 

lipox

Mitglied
SlaterB hat Recht. Aber der Fehler aus Zeile 26 wiederholt sich auch noch in Zeile 31.
Da fehlt außerdem noch das
Java:
{ return true; }

Ansonsten müsste es zwar stimmen, aber ich würde Dir den Rat geben, hier kein String Array zu verwenden. Nimm doch einfach ein int Array:
0 für nicht gesetzt,
1 für Spieler 1,
2 für Spieler 2.

Das hätte hauptsächlich den Vorteil, dass der Code wesentlich überschaubarer wird, da Du Dir Vergleiche mit .equals sparst.
 

Landei

Top Contributor
Kleiner Tipp: Statt [c]private static String[][] brett=new String[3][3];[/c] kannst du [c]private static char[][] brett=new char[3][3];[/c] verwenden. Der Vorteil ist, dass du dann mit [c]==[/c] (statt [c]equals[/c]) vergleichen kannst.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius String und \n. Habe wohl gerade Brett vorm Kopf Java Basics - Anfänger-Themen 13
S brett vorm kopp bei einer if-anweisung Java Basics - Anfänger-Themen 5
T generisches Brett vorm Kopf: (List<Object>) List<My Java Basics - Anfänger-Themen 7
J Brett vorm Kopf - Klasse aufrufen/instanz *?* Java Basics - Anfänger-Themen 11
P Galton-Brett Java Basics - Anfänger-Themen 6
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
M Scanner Input mit if überprüfen Java Basics - Anfänger-Themen 5
Beowend String auf Satzzeichen überprüfen? Java Basics - Anfänger-Themen 6
N String überprüfen Java Basics - Anfänger-Themen 3
A Gleichheit überprüfen Java Basics - Anfänger-Themen 8
N ResultSet auf Einträge überprüfen Java Basics - Anfänger-Themen 5
T Variable von Objekten in einer Methode überprüfen Java Basics - Anfänger-Themen 26
R ISBN-10-Code überprüfen Java Basics - Anfänger-Themen 7
T Diagonale von 2DArray auf gleichheit überprüfen Java Basics - Anfänger-Themen 2
M Wie kann ich den Index i von einer LinkedList überprüfen? Java Basics - Anfänger-Themen 36
P9cman Vokale in einem String überprüfen mittels Rekursion Java Basics - Anfänger-Themen 8
U zwei 2D arrays auf gleich sein überprüfen Java Basics - Anfänger-Themen 14
Y Wie kann man überprüfen, ob bei einem Print Befehl tatsächlich etwas geprintet wurde? Java Basics - Anfänger-Themen 4
P Möglichen Pfad überprüfen Java Basics - Anfänger-Themen 5
Z Kein überprüfen des gesamten Arrays möglich.(Viergewinnt Spiel) Java Basics - Anfänger-Themen 6
C String auf Dualzahl überprüfen Java Basics - Anfänger-Themen 5
L Wie Input auf verschiedene Kriterien hin überprüfen? Java Basics - Anfänger-Themen 3
P Parameter auf Datenformat überprüfen Java Basics - Anfänger-Themen 5
F Hilfe - Wahrheitswert überprüfen ohne If Java Basics - Anfänger-Themen 2
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
H Harshad-Zahl (Nivenzahl) und Palindrom überprüfen Java Basics - Anfänger-Themen 2
R Wie überprüfen wann der User online oder offline ist? Java Basics - Anfänger-Themen 5
Y Konkrete Hilfe gesucht - Anzahl der Stellen einer eingegebenen Zahl überprüfen Java Basics - Anfänger-Themen 5
S CSV auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 8
D Klassen Primzahlen überprüfen Java Basics - Anfänger-Themen 3
M Scanner-Eingabe nach gewissem Zeitraum überprüfen Java Basics - Anfänger-Themen 2
T String auslesen bzw. überprüfen Java Basics - Anfänger-Themen 1
Orkanson Methoden String in Wörter zerlegen und Endungen der Wörter überprüfen. Java Basics - Anfänger-Themen 4
F n-1 als Vielfaches von 20 überprüfen Java Basics - Anfänger-Themen 3
S Täglich auf Erinnerungen überprüfen Java Basics - Anfänger-Themen 5
S Eingabe auf Richtigkeit und Reihenfolg überprüfen Java Basics - Anfänger-Themen 3
L Eingabe überprüfen Java Basics - Anfänger-Themen 7
T Input/Output Int Eingabe auf Zahl überprüfen Java Basics - Anfänger-Themen 30
S Passwortchecker Sequenzen überprüfen Java Basics - Anfänger-Themen 4
L String überprüfen mit .equals .contains oder .matches? Java Basics - Anfänger-Themen 1
J Passwort überprüfen Java Basics - Anfänger-Themen 3
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
C Stringbuffer auf Zeilenumbruch überprüfen Java Basics - Anfänger-Themen 14
T Auf Palindrom überprüfen Java Basics - Anfänger-Themen 10
H überprüfen ob in Array gleiche int-Zahlen gespeichert werden. Java Basics - Anfänger-Themen 7
m0n4ch Variablen String auf ungültige Zeichen überprüfen Java Basics - Anfänger-Themen 13
Jinnai4 Mehrere Textfelder überprüfen Java Basics - Anfänger-Themen 16
C Bei der LinkedList auf Palindrom überprüfen Java Basics - Anfänger-Themen 4
W Methode um Nummer zu überprüfen. Java Basics - Anfänger-Themen 5
M Felder leer - überprüfen? Java Basics - Anfänger-Themen 2
H Eingegebenen String mit If überprüfen Java Basics - Anfänger-Themen 8
W String Array in Int umwandeln um auf Zahl zu überprüfen Java Basics - Anfänger-Themen 4
Z Benutzereingabe überprüfen. Java Basics - Anfänger-Themen 2
T Matrix auf Symmetrie überprüfen Java Basics - Anfänger-Themen 6
S Variablen Array in ArrayList auf doppelte Einträge überprüfen Java Basics - Anfänger-Themen 4
B Schaltjahr überprüfen (Code) Java Basics - Anfänger-Themen 4
B Datentypen Textfeld auf Nicht-Zahlen überprüfen Java Basics - Anfänger-Themen 10
J Etwas dauerhaft überprüfen, wie ? Java Basics - Anfänger-Themen 8
T CSV auf Inhalt und Zeilen überprüfen Java Basics - Anfänger-Themen 2
I Matrix überprüfen Java Basics - Anfänger-Themen 8
B Variablen Objektvariablen ständig überprüfen Java Basics - Anfänger-Themen 3
A String auf Format überprüfen Java Basics - Anfänger-Themen 7
D Javaliste auf gleiche Einträge überprüfen Java Basics - Anfänger-Themen 2
M String überprüfen ob nur Buchstaben enthalten sind? Java Basics - Anfänger-Themen 10
Todesbote String auf Muster überprüfen Java Basics - Anfänger-Themen 19
A Input/Output Input überprüfen und weiterverarbeiten Java Basics - Anfänger-Themen 10
U JSP Password überprüfen ob es Zahlen enthält Java Basics - Anfänger-Themen 3
K Eingabe überprüfen Java Basics - Anfänger-Themen 4
B String nach regex überprüfen Java Basics - Anfänger-Themen 6
M String auf Inhalt überprüfen Java Basics - Anfänger-Themen 11
H Mehrdimensionales Array - Inhalt auf Null überprüfen Java Basics - Anfänger-Themen 5
S Java Scanner auf Zahlen/Numerische Zeichen überprüfen Java Basics - Anfänger-Themen 15
D Eine Stelle eines Char- Arrays nach dem vorkommen in einem ganzem anderem Array überprüfen Java Basics - Anfänger-Themen 20
M Erster JAR Start überprüfen Java Basics - Anfänger-Themen 6
F TextFeld überprüfen Java Basics - Anfänger-Themen 20
S Eingabe auf int bzw. String überprüfen Java Basics - Anfänger-Themen 6
T Attribute eines anderen Objektes überprüfen und danach handeln Java Basics - Anfänger-Themen 7
A Integer Eingabe überprüfen Java Basics - Anfänger-Themen 7
S Char auf Zahl überprüfen Java Basics - Anfänger-Themen 8
T Kommandozeilen Parameter überprüfen Java Basics - Anfänger-Themen 3
D Internetseite überprüfen Java Basics - Anfänger-Themen 9
G Elemente von Feld und Liste auf Gleichheit überprüfen Java Basics - Anfänger-Themen 13
G überprüfen ob char = 'N' 'S' 'O' oder 'W' Java Basics - Anfänger-Themen 42
H Methoden Array auf Vorkommen eines Integers überprüfen Java Basics - Anfänger-Themen 2
M Argument der Kommandozeile überprüfen Java Basics - Anfänger-Themen 4
S Klassen Aufgabe: Binärbaum überprüfen Java Basics - Anfänger-Themen 16
Os-Programming Checkbox immer wieder überprüfen Java Basics - Anfänger-Themen 13
H überprüfen, ob Objekt verändert wurde Java Basics - Anfänger-Themen 11
GianaSisters Auf Datentyp überprüfen Java Basics - Anfänger-Themen 13
W Hilfe: Eingabe überprüfen Java Basics - Anfänger-Themen 8
W String überprüfen Java Basics - Anfänger-Themen 6
R Collections Text-Dateien auf Gleichheit überprüfen Java Basics - Anfänger-Themen 22
P Attribute von Objekten in Vectoren überprüfen Java Basics - Anfänger-Themen 4
D Inhalt einer Liste auf nur ein Wert überprüfen ohne die Liste komplett zu interieren Java Basics - Anfänger-Themen 6
H Alle Array-Elemente auf einmal überprüfen? Java Basics - Anfänger-Themen 10
C String überprüfen, ob gültig, sonst wiederholung der eingabe Java Basics - Anfänger-Themen 9
S Wie überprüfen das in Textfield nur Hexadezimal ist? Java Basics - Anfänger-Themen 4
B chars auf Zahlen überprüfen Java Basics - Anfänger-Themen 4
N FileOutputStream und existenz von Datei überprüfen Java Basics - Anfänger-Themen 2
M Stringinhalt überprüfen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben