TicTacToe Spielfeld

ThommyTom

Aktives Mitglied
Hallihallo,
ich implementiere gerade ein TicTacToe Spielfeld.
Ich glaube, der Quelltext ist mit den Kommentaren selbsterklärend, ansonsten bitte Fragen stellen ;)
Ich bin mir bei der letzten Methode unsicher bzw. sicher, dass die nicht funktionieren wird.
Es wäre großartig, wenn mal jemand drüber schauen mag!
Lieben Dank,
Tom
Java:
public class SpielfeldZeichenkette implements Spielfeld
{
    private StringBuilder _spielfeld;
    
    /**
     * Erzeugt ein neues, leeres Spielfeld.
     */
    public SpielfeldZeichenkette()
    {
        _spielfeld = new StringBuilder("\0\0\0\0\0\0\0\0\0");
    }
    
    /**
     * Gibt den Besitzer der angegebenen Position auf dem Spielfeld.
     * 
     * @param zeile
     *            vertikale Position (0-2)
     * @param spalte
     *            horizontale Position (0-2)
     * @return 0 (unbesetzt), 1 (Spieler 1), 2 (Spieler 2)
     */
    public int gibBesitzer(int zeile, int spalte)
    {
        int i = 3*zeile + spalte;
        return _spielfeld.charAt(i);
    }
    
    /**
     * Besetzt die angegebene Position auf dem Spielfeld fuer einen Spieler.
     * 
     * @param zeile
     *            vertikale Position (0-2)
     * @param spalte
     *            horizontale Position (0-2)
     * @param spieler
     *            0 (leer), 1 (Spieler 1), 2 (Spieler 2)
     */
    public void besetzePosition(int zeile, int spalte, int spieler)
    {
        int i = 3*zeile + spalte;
        char ch = (char) spieler;
        _spielfeld.setCharAt(i, ch);
    }
    
     /**
     * Gibt an, ob das Spielfeld an allen Positionen belegt ist.
     */
    public boolean istVoll()
    {
        return _spielfeld.indexOf("1") > 8 && _spielfeld.indexOf("2") > 8;
    }
}
 

ThommyTom

Aktives Mitglied
Ich kann meine Frage nun glaube ich etwas konkreter stellen:
Ich habe einen Stringbuilder der Länge 9, also Index 0-8. Wie kann ich nun prüfen, ob kein Eintrag davon 0 ist?
Es soll wohl mit indexOf gehen, ich weiß aber nicht wie.
 

Gucky

Top Contributor
Stimmt. :D
Scbreib eine contains Methode selbst. Mit einer Schleife iterierst über den StringBuilder und guckst mit der charAt() Methode nach, ob das gesuchte Zeichen da ist. Wenn ja gibst du true zurück.
 
Zuletzt bearbeitet:

ThommyTom

Aktives Mitglied
Ich habe nun
Java:
/**
     * Gibt an, ob das Spielfeld an allen Positionen belegt ist.
     */
    public boolean istVoll()
    {
        return _spielfeld.indexOf("\u0000") == -1;
    }

Das müsste funktionieren, oder?
Sind in deinen Augen die anderen Methoden richtig implementiert?
 

njans

Top Contributor
Ja das sollte funktionieren. Zur besseren Lesbarkeit solltest du allerdings dann nicht "\u0000" schreiben, sondern "\0".
Ist euch eigentlich das Spielfeld vorgegeben oder konntet ihr den Typ selbst wählen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
enesss tictactoe spiel Java Basics - Anfänger-Themen 5
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
TicTacToe Java Basics - Anfänger-Themen 6
C TicTacToe Java Basics - Anfänger-Themen 2
J Anfänger TicTacToe, Problem bei Gewinnoption, sowohl Unentschieden Java Basics - Anfänger-Themen 8
A Überprüfung für unentschieden in TicTacToe Java Basics - Anfänger-Themen 10
A Überprüfung in TicTacToe Java Basics - Anfänger-Themen 5
A TicTacToe Java Basics - Anfänger-Themen 8
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
K Fehler beim Programmieren von TicTacToe Java Basics - Anfänger-Themen 12
J TicTacToe Java Basics - Anfänger-Themen 2
A TicTacToe funktioniert bis auf "schiefer" Sieg Java Basics - Anfänger-Themen 6
shiroX Input/Output TicTacToe-Savegame Java Basics - Anfänger-Themen 1
shiroX Methoden Mögliche Spielstände bei TicTacToe Java Basics - Anfänger-Themen 14
M Array und Objektorientierung? - TicTacToe Spiel Java Basics - Anfänger-Themen 43
P TicTacToe Problem mit Win Methode Java Basics - Anfänger-Themen 4
Z TicTacToe mit Array Java Basics - Anfänger-Themen 6
B TicTacToe Java Basics - Anfänger-Themen 2
S TicTacToe Java Basics - Anfänger-Themen 4
I TicTacToe blöde KI Java Basics - Anfänger-Themen 2
I Fehler bei TicTacToe Java Basics - Anfänger-Themen 108
G TicTacToe KI Java Basics - Anfänger-Themen 15
C Problem TicTacToe Java Basics - Anfänger-Themen 6
P 3D TicTacToe - Unentschieden Java Basics - Anfänger-Themen 5
G Tictactoe Java Basics - Anfänger-Themen 9
B TicTacToe Programmieren Java Basics - Anfänger-Themen 2
M Einfaches TicTacToe Programm Java Basics - Anfänger-Themen 19
H TicTacToe Fehler beim Compilieren Java Basics - Anfänger-Themen 7
cizzo TicTacToe Java Basics - Anfänger-Themen 6
W TicTacToe - Porblem mit dem Code.. Java Basics - Anfänger-Themen 5
H Hilfe bei TicTacToe mit jEdit Java Basics - Anfänger-Themen 7
0 TicTacToe, Problem mit den Checkbox-Aktionen Java Basics - Anfänger-Themen 6
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2
kulturfenster Problem bei TicTacToe Java Basics - Anfänger-Themen 11
P Ein einfaches Spiel: TicTacToe. Fehler und Vorschläge Java Basics - Anfänger-Themen 3
H TicTacToe: Zeit zwischen Zügen lassen Java Basics - Anfänger-Themen 9
M TicTacToe Java Basics - Anfänger-Themen 7
H TicTacToe-geeignete Klassenhierarchie Java Basics - Anfänger-Themen 3
G Hilfe bei TicTacToe Java Basics - Anfänger-Themen 2
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
E Spielfeld mit Spielern belegen? Java Basics - Anfänger-Themen 4
L Simples Spielfeld erzeugen Java Basics - Anfänger-Themen 1
W Erste Schritte Ein Spielfeld aufbauen/generieren Java Basics - Anfänger-Themen 1
Y Erste Schritte Spielfeld, Array füllen mit Treffern...?! Java Basics - Anfänger-Themen 3
D Erste Schritte spielfeld als Datenspeicher implementieren Java Basics - Anfänger-Themen 1
D spielfeld als Datenspeicher implementieren Java Basics - Anfänger-Themen 5
M Spielfeld mit 10x10 Felder Java Basics - Anfänger-Themen 13
masii Spielfeld auf Konsole ausgeben Java Basics - Anfänger-Themen 3
S Spielfeld Ausgabe mit 2 for - Schleifen möglich ? Java Basics - Anfänger-Themen 4
F Mausposition im Spielfeld auslesen Java Basics - Anfänger-Themen 26
P Spielfeld für SchiffeVersenken auf Kommandozeilenebene Java Basics - Anfänger-Themen 5
StickToFreak Mit GameLoop "Spielfeld-Begrenzung" Java Basics - Anfänger-Themen 24

Ähnliche Java Themen

Neue Themen


Oben