Brettspiel

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Hi!
    Wir programmieren gerade das Spiel Go (chinesisches Brettspiel).Wir haben bereits unser Spielfeld Zustand[][] spielbrett = new Zustand[10][10];
    mit den Zuständen LEER ( . ), SCHWARZ (X) und WEISS (O).
    Nun sollen wir in der Methode public int entferneEingeschlosseneSteine(Zustand farbe), alle vollständig eingeschlossenen Ketten der Farbe farbe vom Spielbrett
    nehmen und die Anzahl der entnommenen Steine als Resultat zurückgegeben. Dazu sollen wir zunächst allse Steine der Farbe farbe markieren
    die nicht zu vollständig eingeschlossenen Ketten gehören.
    Dazu haben wir folgendes array boolean [10][10]markierung in dem alles Felder auf false gesetz sind, wird ein Feld true, dann ist
    der entsprechende Stein markiert!
    Nun soll man für alle Felder testen, ob dort ein noch nicht markierter Stein der Farbe farbe liegt, welcher markiert werden kann.
    Was der Fall ist, wenn er direkter Nachbar eines leeren Feldes ist, oder falls er neben einem bereits markierten Stein liegt.
    Falls er markiert werden kann, sollen wir ihn markieren.
    Nach der letzten Iteration sollten dann alle Steine der Farbe farbe markiert sein, die nicht zu vollständig eingeschlossenen Ketten gehören.
    Die Steine der Farbe farbe die also nicht markiert sind, gehören dann zu eingeschlossenen Ketten.
    Also sollte man wohl testen welche Steine von farbe nicht markiert sind und diese dann entefernen und zählen.

    Beispielspielfeld:
    y\x 0 1 2 3 4 5 6 7 8 9 Hier sollte also (1,6) markiert werden und (8,8), (9,8) und (9,9)
    0 . . . . . . . . . . entfernt werden und die Methode gibt als Rückgabewert 3 zurück.
    1 . . . . . . . . . .
    2 . . . . . . . . . .
    3 . . . . . . . . . .
    4 . . . . . . . . . .
    5 . . . . . . . . . .
    6 . O X . . . . . . .
    7 . . . . . . . . X X
    8 . . . . . . . X O O
    9 . . . . . . . . X O

    Das ist die letzte Methode der Klasse, grundsätzlich ist mir auch ganz klar was gefragt ist, aber insbesondere die Überprüfung der
    Farben auch im Bezug auf die Nachbarn, bereitet mir Probleme!
    Wäre super wenn mir jemand eine ansatzweise Lösung geben könnte oder zumindest eine herangehensweise an das Problem!
    MfG